我正在将一个文件从sample.csv复制到new.csv。复制后,我需要打开new.csv并将其保存为new.xls,工作表名称为“Newsheet”。我成功复制但无法继续打开/保存它。
这是我的代码:
Dim ioFile As New System.IO.StreamReader("C:\sample.csv")
Dim ioLine As String
Dim ioLines As String
ioLine = ioFile.ReadLine
ioLines = "ID,Name,Number,Amount"
ioLines &= vbCrLf & ioLine
While Not ioLine = ""
ioLine = ioFile.ReadLine
ioLines = ioLines & vbCrLf & ioLine
End While
Dim ioWriter As New System.IO.StreamWriter("C:\new.csv")
ioWriter.WriteLine(ioLines)
ioFile.Close()
ioWriter.Close()
答案 0 :(得分:0)
如果您需要将csv导入Exel并且可以使用excel,则可以使用以下代码进行修改。如你所见,我刚录制了一个宏。但是,我使用宏录制为我提供了更复杂的办公自动化任务。只要你有excel库,你需要做的就是添加一个引用来打开它,然后从下面提取你需要的代码。
Sub Macro1()
'
' Macro1 Macro
'
'
With ActiveSheet.QueryTables.Add(Connection:="TEXT;H:\My Documents\InCps.TXT" _
, Destination:=Range("$A$1"))
.Name = "InCps"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
答案 1 :(得分:0)
从基本文本转换为Excel需要比文件扩展名更改更多的工作。
我会看一下NPOI库,它允许您轻松创建Excel文档(以及其他类型)并且是开源的。它易于使用,您应该能够快速完成工作解决方案。