2011-09-01 63 views
1

我有一个Google电子表格,我需要导出并且每个字段都包含在双引号“字段”中,但此刻它不会执行此操作。谷歌文档使用双引号导出CSV

有没有简单的方法来实现这一点,而不诉诸手动编辑数百行?

最大

+0

CSV只需要值被包裹在引号当值包含逗号。为什么你需要用引号括起所有的值?你在编写自己的CSV解析器吗? – adamleerich

+0

红宝石似乎不按规则在这里玩。 – bmargulies

回答

2

我发现您可以通过使用Open Office来实现此目的。从他们你可以定义你自己的分隔符和周围的角色。

以CSV格式保存/导出时,请选中定义我自己的字符的方框。

4

您可以从Excel中使用过宏观appropiate像这样使用:

Sub QuoteCommaExport() 

    ' Dimension all variables. 

    Dim DestFile As String 

    Dim FileNum As Integer 

    Dim ColumnCount As Integer 

    Dim RowCount As Integer 



    ' Prompt user for destination file name. 

    DestFile = InputBox("Enter the destination filename" & Chr(10) & "(with complete path):", "Quote-Comma Exporter") 



    ' Obtain next free file handle number. 

    FileNum = FreeFile() 



    ' Turn error checking off. 

    On Error Resume Next 



    ' Attempt to open destination file for output. 

    Open DestFile For Output As #FileNum 



    ' If an error occurs report it and end. 

    If Err <> 0 Then 

     MsgBox "Cannot open filename " & DestFile 

     End 

    End If 



    ' Turn error checking on. 

    On Error GoTo 0 



    ' Loop for each row in selection. 

    For RowCount = 1 To Selection.Rows.Count 



     ' Loop for each column in selection. 

     For ColumnCount = 1 To Selection.Columns.Count 



     ' Write current cell's text to file with quotation marks. 

     Print #FileNum, """" & Selection.Cells(RowCount, ColumnCount).Text & """"; 



     ' Check if cell is in last column. 

     If ColumnCount = Selection.Columns.Count Then 

      ' If so, then write a blank line. 

      Print #FileNum, 

     Else 

      ' Otherwise, write a comma. 

      Print #FileNum, ";"; 

     End If 

     ' Start next iteration of ColumnCount loop. 

     Next ColumnCount 

    ' Start next iteration of RowCount loop. 

    Next RowCount 



    ' Close destination file. 

    Close #FileNum 

End Sub