Note: The other languages of the website are Google-translated. Back to English

如何將工作表數據另存為帶/不帶雙引號的csv文件?

當您將一系列數據從Excel導出或保存到csv文件時,通常,csv數據不是用雙引號引起來的,但是,如果您的單元格值由逗號或換行符分隔,則導出的csv數據將是用雙引號引起來的引號。 在本文中,我將討論如何根據需要將工作表數據保存為帶或不帶雙引號的csv文件。

將工作表數據另存為帶雙引號的csv文件

將工作表數據另存為csv文件而不帶雙引號


箭頭藍色右氣泡 將工作表數據另存為帶雙引號的csv文件

要將普通數據另存為帶雙引號的csv文件,以下VBA代碼可能會為您提供幫助,請執行以下操作:

1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到 模塊 窗口。

VBA代碼:用雙引號將工作表數據另存為csv文件:

Sub CSVFile()
'updateby Extendoffice
    Dim xRg As Range
    Dim xRow As Range
    Dim xCell As Range
    Dim xStr As String
    Dim xSep As String
    Dim xTxt As String
    Dim xName As Variant
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
    xSep = Application.International(xlListSeparator)
    Open xName For Output As #1
    For Each xRow In xRg.Rows
        xStr = ""
        For Each xCell In xRow.Cells
            xStr = xStr & """" & xCell.Value & """" & xSep
        Next
        While Right(xStr, 1) = xSep
            xStr = Left(xStr, Len(xStr) - 1)
        Wend
        Print #1, xStr
    Next
    Close #1
    If Err = 0 Then MsgBox "The file has saved to: " & xName, vbInformation, "Kutools for Excel"
End Sub

3。 然後按 F5 鍵運行此代碼,並彈出一個提示框,提醒您選擇要另存為帶雙引號的csv文件的數據范圍,請參見屏幕截圖:

doc保存帶引號的csv

4。 然後點擊 OK 按鈕和一個 另存為 出現窗口,請指定文件名和位置,然後單擊 節省 按鈕,請參見屏幕截圖:

doc保存帶引號的csv

5。 和a Excel的Kutools的提示框會彈出,提醒您新的csv文件已保存到您的指定位置,請參見屏幕截圖:

doc保存帶引號的csv

6。 點擊 OK 關閉對話框,現在,當您打開新的csv文件時,所有數據都用雙引號括起來,如以下屏幕截圖所示:

doc保存帶引號的csv


箭頭藍色右氣泡 將工作表數據另存為csv文件而不帶雙引號

如果數據用逗號分隔,則在單元格中換行,將數據另存為csv文件時,數據將被雙引號括起來,如下所示:

doc保存帶引號的csv

要將數據另存為csv文件而不帶雙引號,請應用以下VBA代碼。

1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到 模塊 窗口。

VBA代碼:將工作表數據另存為csv文件,不帶雙引號:

Sub Export()
'updateby Extendoffice
    Dim xRg As Range
    Dim xRow As Range
    Dim xCell As Range
    Dim xStr As String
    Dim xTxt As String
    Dim xName As Variant
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Please select data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
    Open xName For Output As #1
    For Each xRow In xRg.Rows
        xStr = ""
        For Each xCell In xRow.Cells
            xStr = xStr & xCell.Value & Chr(9)
        Next
        While Right(xStr, 1) = Chr(9)
            xStr = Left(xStr, Len(xStr) - 1)
        Wend
        Print #1, xStr
    Next
    Close #1
    If Err = 0 Then MsgBox "The file has saved to: " & xName, vbInformation, "Kutools for Excel"
End Sub

3。 然後按 F5 鍵運行此代碼,並彈出一個提示框,提醒您選擇要另存為csv且不帶雙引號的數據范圍,請參見屏幕截圖:

doc保存帶引號的csv

4。 點擊 OK 按鈕和一個 另存為 顯示窗口,請為新的csv文件指定文件名和位置,請參見屏幕截圖:

doc保存帶引號的csv

5。 然後點擊 節省 按鈕,一個 Excel的Kutools的提示框會彈出,告訴您新的csv文件已保存到您的指定位置,請參見屏幕截圖:

doc保存帶引號的csv

6. 點擊 OK 關閉對話框,當您打開新的csv文件時,數據周圍的雙引號將被刪除,如以下屏幕截圖所示:

doc保存帶引號的csv


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (6)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
您好!
Muito obrigado! O conteúdo me ajudou muito。 Precisava gerar um arquivo txt eliminando as aspas duplas no início e no final de cada linha e não estava conseguindo resolver。 Agora consegui。
網站主持人對此評論進行了最小化
Sério eu te amo rsrsrsr
我 ajudou demais,muito obrigada!
網站主持人對此評論進行了最小化
不是 unicode
網站主持人對此評論進行了最小化
非常感謝你做的這些。 我一直試圖弄清楚如何在我的文件周圍加上雙引號 3 天!
網站主持人對此評論進行了最小化
子 Exportar_TXT()



Application.ScreenUpdating = False



'Seleciona a guia Extract do Excel depois a célula A1
表格(“提取”)。選擇
範圍(“A1”)。選擇

'Iniciar exportação txt via Print com texto exato mostrado em tela sem erro das aspas

將路徑變暗為字符串
將 FileNumber 調暗為整數
將 LR 調暗為整數
將 LC 調暗為整數

將 k 調暗為整數
昏暗我作為整數

LR = Worksheets("Extract").Cells(Rows.Count, 1).End(xlUp).Row
LC = Worksheets("Extract").Cells(1, Columns.Count).End(xlToLeft).Column

路徑 = ThisWorkbook.Path & "\Extract " & Format(Now(), "ddmmyyyy-hhmmss") & ".csv"
文件編號 = 自由文件

輸出為 FileNumber 的打開路徑

對於 k = 1 到 LR

對於 i = 1 到 LC

如果我 <> LC 那麼
打印#FileNumber, Cells(k, i),
其他
打印#FileNumber, Cells(k, i)
如果結束

接下來,我

下一個 k

關閉文件號


' Caso deseja abrir o notepad immediatamente para conferir o txt gerado só retirar a linha comentada abaixo:


'Shell "notepad.exe" & Path, vbNormalFocus



Application.ScreenUpdating = True

MsgBox "Extract*.txt salvo na pasta onde abriu este Excel!"

END SUB
網站主持人對此評論進行了最小化
Caso deseje apenas salva todo o Excel em csv *sem aspas* 符合歐盟,segue sugestão:

子 Exportar_CSV()

Application.ScreenUpdating = False

'Seleciona a guia Extract do Excel depois a célula A1
表格(“提取”)。選擇
範圍(“A1”)。選擇

'Iniciar exportação txt via Print com texto exato mostrado em tela sem erro das aspas

將路徑變暗為字符串
將 FileNumber 調暗為整數
將 LR 調暗為整數
將 LC 調暗為整數

將 k 調暗為整數
昏暗我作為整數

LR = Worksheets("Extract").Cells(Rows.Count, 1).End(xlUp).Row
LC = Worksheets("Extract").Cells(1, Columns.Count).End(xlToLeft).Column

路徑 = ThisWorkbook.Path & "\Extract " & Format(Now(), "ddmmyyyy-hhmmss") & ".csv"
文件編號 = 自由文件

輸出為 FileNumber 的打開路徑

對於 k = 1 到 LR

對於 i = 1 到 LC

如果我 <> LC 那麼
打印#FileNumber, Cells(k, i),
其他
打印#FileNumber, Cells(k, i)
如果結束

接下來,我

下一個 k

關閉文件號


' Caso deseja abrir o notepad immediatamente para conferir o txt gerado só retirar a linha comentada abaixo:


'Shell "notepad.exe" & Path, vbNormalFocus



Application.ScreenUpdating = True

MsgBox "Extract*.txt salvo na pasta onde abriu este Excel!"

END SUB
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護