有没有办法将Excel导出到包含每个单元格的csv文件“并跳过标题?另存为.csv不是我要找的答案。
如果有可能,我正在寻找一种方法在excel中执行此操作。不是编码解决方案。感谢
答案 0 :(得分:3)
假设您在Sheet1中有数据,我能想到的最好的非VBA解决方案是添加第二张表并在A1中输入公式,如下所示:
=""""&Sheet1!A1&""","""&Sheet1!B1&""","""&Sheet1!C1&""""
然后将其复制到Sheet1中的尽可能多的行。您需要将此公式扩展为尽可能多的列。
这将为您提供一个看起来像您想要的CSV文件格式的列。然后,您将该页面保存为文本文件。
答案 1 :(得分:0)
假设您的数据在单元格A1的活动表中以第一个标题行开始,附加的代码应将其写入csv文件中以符合您的规范。
Sub WriteToCSV()
Const forReading = 1, forAppending = 3, fsoForWriting = 2
Dim fs, objTextStream, sText As String
Dim lLastRow As Long, lRowLoop As Long, lLastCol As Long, lColLoop As Long
Set fs = CreateObject("Scripting.FileSystemObject")
Set objTextStream = fs.opentextfile("c:\temp\myResult.csv", fsoForWriting, True)
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
lLastCol = Cells(1, Columns.Count).End(xlToLeft).Column
For lRowLoop = 2 To lLastRow
sText = ""
For lColLoop = 1 To lLastCol
sText = sText & Chr(34) & Cells(lRowLoop, lColLoop) & Chr(34) & ","
Next lColLoop
objTextStream.writeline (Left(sText, Len(sText) - 1))
Next
objTextStream.Close
Set objTextStream = Nothing
Set fs = Nothing
End Sub