KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何將工作表資料儲存為帶有或不帶雙引號的 CSV 檔案?

作者曉陽修改日期

當您在 Excel 中將資料範圍匯出或儲存為 CSV 檔案時,可能會發現 CSV 資料預設並不會以雙引號包覆。然而,若儲存格內容包含逗號、換行等特殊字元,Excel 會自動為這些值加上雙引號,以確保檔案在其他應用程式中開啟時,欄位資料仍能正確解析。在實際工作情境中,您或許希望自行掌控是否對所有資料加上引號,甚至完全避免使用引號。本文將介紹多種實用方法,協助您將工作表資料儲存為「帶引號」或「不帶引號」的 CSV 檔案,並針對各方法的適用情境進行分析,提供清晰的逐步操作指引。

將工作表資料儲存為帶雙引號的 CSV 檔案

將工作表資料儲存為不帶雙引號的 CSV 檔案

其他內建 Excel 方法:使用 Excel 的「另存新檔」功能匯出 CSV


將工作表資料儲存為帶雙引號的 CSV 檔案

若您希望確保匯出至 CSV 時,工作表中的每個值皆以雙引號包圍(例如為了相容特定資料匯入系統,或因資料內含逗號、定位字元及換行字元),可透過 VBA 程式碼自訂匯出流程來實現此需求。

對多數使用者來說,Excel 的標準匯出功能並未提供「一律為所有欄位加上引號」的選項。透過 VBA,您能精確掌控輸出格式,尤其適合處理複雜或大型資料集。此方法唯一的缺點是需要具備基本的 VBA 編輯器操作知識,但其帶來的彈性通常遠遠超過這項輕微不便。

請依照下列詳細步驟執行此操作:

1. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。若您尚不熟悉 VBA 環境,務必先儲存活頁簿再繼續操作,以確保資料安全!

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 檔案的資料區域。請參閱截圖:

用於選取資料範圍的 VBA 程式碼

4. 選取後,點選確定,隨即開啟「另存新檔」視窗。請指定目標檔名與儲存位置後確認。請參閱截圖:

指定檔案名稱與位置

5。Kutools for Excel 將顯示提示,確認新的 CSV 檔案已成功儲存至您指定的位置。請參閱截圖:

跳出提示框,提醒您新的 CSV 檔案已儲存

6. 點選確定以關閉對話方塊。當您使用文字編輯器開啟新的 CSV 檔案,或將其匯入其他系統時,會發現所有資料皆以雙引號包圍,如下所示:

CSV 檔案中所有資料皆以雙引號括住

提示:某些地區設定(例如清單分隔符號)可能會影響所儲存 CSV 檔案的格式。若遇到分隔符問題,請重新檢查匯出的檔案,並考慮在程式碼中調整 xSep,以使用自訂分隔符。

kutools for excel AI 的螢幕截圖

透過 KUTOOLS AI 解鎖 Excel 的神奇功能

  • 智慧執行:透過簡易指令,輕鬆執行儲存格操作、分析資料,並建立圖表!
  • 自訂公式:打造專屬公式,讓您的工作流程更順暢!
  • VBA 編碼:輕鬆撰寫並套用 VBA 程式碼,立即提升工作效率!
  • 公式解析:輕鬆掌握複雜公式!
  • 文字翻譯:輕鬆打破試算表中的語言隔閡!
運用 AI 驅動的工具強化您的 Excel 能力。立即下載體驗前所未有的高效!

將工作表資料儲存為不帶雙引號的 CSV 檔案

有時您可能希望將 Excel 資料匯出為完全不含雙引號的 CSV 檔案,特別是在資料中不包含逗號、換行字元或其他可能干擾 CSV 解析器的特殊字元時。根據預設,若儲存格內容含有逗號或換行字元,Excel 在匯出為 CSV 時會自動以雙引號包圍這些欄位,以確保資料完整性,如下圖所示:

將工作表資料儲存為不含雙引號的 CSV 檔案

若您希望將資料儲存為完全不含雙引號的 CSV 檔案,可使用自訂 VBA 巨集,以指定分隔符(此處為製表符)輸出純文字值。當您確認資料不含可能引發問題的字元,且必須嚴格遵循無引號規範時,此方法尤為實用。

注意:定位字元分隔值(.tsv)在技術上雖非 CSV,但許多系統皆可接受;其結構簡單,還能避免使用雙引號。

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

此指令碼會產生一個以定位字元(而非逗號)分隔欄位的 CSV 檔案,且不會為儲存格值加上雙引號。請務必檢查您的資料,確保內容不含任何製表符,以免破壞輸出結構。此外,程式碼還會提示您指定匯出檔案的檔名與儲存位置。

3. 按下 F5 執行巨集,系統將彈出提示方塊,請選取欲匯出為不帶雙引號 CSV 檔案的數據區域:

用於選取資料範圍的 VBA 程式碼

4. 選取資料後,點選確定。在「另存新檔」對話方塊中,指定檔名與儲存位置,然後點選儲存以繼續:

指定檔案名稱與位置

5。Kutools for Excel 將顯示確認對話方塊,通知您檔案已儲存完畢,請點選確定

跳出提示框,通知您新的 CSV 檔案已儲存

6. 完成後,請在文字編輯器或匯入工具中開啟您生成的檔案,確認匯出的資料未被雙引號包圍,如下所示:

CSV 檔案中資料周圍的雙引號已被移除

若您發現資料中需要保留儲存格內的逗號或換行字元,建議避免使用此方法,以免發生解析錯誤。


其他內建 Excel 方法:使用 Excel 的「另存新檔」功能匯出 CSV

Excel 也提供透過「另存新檔」功能,將工作表資料輕鬆匯出為 CSV 檔案的內建方法。此方式適合需要快速匯出,且無需手動控制雙引號或分隔字元的使用者。使用此方法時,Excel 會自動為包含逗號、換行字元或雙引號等特殊字元的欄位加上雙引號;若欄位不含這些字元,則不會加上引號。這種處理方式符合標準 CSV 規範,確保與大多數第三方應用程式及資料匯入系統順暢相容。

雖然此方法無法強制一律為欄位加上引號,也無法完全停用引號功能,但在標準 CSV 格式已足夠應付的基本資料匯出情境中,仍相當實用。其主要限制在於缺乏細緻的控制能力——若您需要確保所有資料一律加上引號,或必須使用自訂分隔符,建議改用 VBA 或其他專用工具。此外,此流程一律會匯出整個作用中的工作表;若僅需匯出特定範圍,請先將該範圍複製到獨立的工作表中。

若要使用 Excel 的「另存新檔」功能匯出 CSV,請依下列步驟操作:

1. 按一下檔案 另存新檔。在舊版 Excel 中,請選擇 Office 按鈕 另存新檔

2. 在另存新檔對話方塊中,選擇檔案儲存位置並輸入您想要的檔名。

3. 在指定保存格式下拉式選單中,選取 CSV(以逗號分隔)(*.csv)

4. 按一下儲存。若工作表包含 CSV 格式不支援的功能(例如公式、格式設定或多個工作表),Excel 將提醒您僅有目前的工作表會儲存為 CSV 格式。按一下確定以繼續。

儲存後,請使用文字編輯器(例如記事本)開啟所產生的檔案,您會注意到:

  • 包含逗號、換行字元或特殊字元的儲存格,將自動以雙引號包圍。
  • 僅包含純文字或數字且不含特殊字元的儲存格,不會加上引號。
  • 此方法未提供手動選項,無法強制為所有欄位加上或省略引號。

提示:匯出前,請先檢查資料中是否含有不必要的特殊字元,因為這些字元會影響 Excel 為儲存格加上引號的方式。若只需匯出特定範圍,請先將該範圍複製到空白工作表,再透過「另存新檔」功能進行匯出。在國際版 Excel 中,欄位分隔符號可能會依據您的地區設定而有所不同。


疑難排解與建議:

  • 務必使用文字編輯器檢查匯出的 CSV 檔案,確保引號與分隔符符合預期。
  • 若遇到編碼問題(例如非英文字符顯示錯誤),請在「另存新檔」對話方塊中,將檔案儲存為 CSV UTF-8 格式(若該選項可用)。
  • 使用 VBA 時,請檢查資料中是否包含內部雙引號或分隔符,這些可能引發格式問題;若存在此類情況,請務必事先對資料進行預處理。
  • 若只需匯出工作表的部分內容,可先將指定範圍複製到新工作表再進行匯出,或透過 VBA 明確指定欲匯出的範圍。
  • 請注意,CSV 格式僅會儲存單一工作表中的原始數值,無法保留公式、格式或多個工作表。

摘要:選擇 VBA 或 Excel 內建功能,取決於您對引號一致性、分隔符號控制及資料範圍選取的需求。所提供的 VBA 方法能針對進階需求提供細緻掌控,而 Excel 標準的「另存新檔」功能則非常適合快速簡便的匯出作業,並具備標準化的引號處理行為。若上述兩種方式皆無法滿足您的特定需求(例如僅對部分欄位加上引號,或套用自訂的跳脫規則),建議另行撰寫指令碼,或使用專用的 CSV 工具,在散發資料前高效完成資料處理。


最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用