导出到CSV,包装字符和跳过标题

有没有办法将Excel导出到包装每个单元格的csv文件“并跳过标题?另存为.csv不是我正在寻找的答案。

如果可能的话,我正在寻找一种从excel内部做到这一点的方法。 不是编码解决scheme。 谢谢

假设你在Sheet1中有你的数据,我能想到的最好的非VBA解决scheme是添加第二个工作表并在A1中input一个公式,如下所示:

=""""&Sheet1!A1&""","""&Sheet1!B1&""","""&Sheet1!C1&"""" 

然后将其复制到Sheet1中的行数。 您需要将此公式扩展为尽可能多的列。

这会给你一个看起来像你想要的CSV文件格式的列。 然后,您将该页面保存为文本文件。

假设您的数据在单元格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