跳到主要內容

如何在Excel中保存,導出多個/所有工作表到單獨的csv或文本文件?

新增一名作者 最後修改時間:2022-03-31

使用 Excel 時,您可以使用另存為功能將工作表手動保存為 csv 或文本文件。 但是,要將工作簿中的多個或所有工作表轉換為單獨的 csv 或文本文件,您該怎麼做? 在本文中,我們將向您展示將多個或所有工作表保存或轉換為單獨的 csv 或文本文件的方法。

使用VBA代碼將所有工作表保存,導出或轉換為csv或文本文件
使用Kutools for Excel將多個/所有工作表保存,導出或轉換為csv或文本文件


使用VBA代碼將所有工作表保存,導出或轉換為csv或文本文件

使用下面的VBA代碼,您可以將工作簿中的所有工作表保存到單獨的csv或文本文件中。 請執行以下操作。

將所有工作表導出或轉換為CSV文件

1。 按 其他 + F11 同時打開 Microsoft Visual Basic應用程序 窗口。

2。 在裡面 Microsoft Visual Basic應用程序 窗口中,單擊 插入 > 模塊。 然後將以下代碼複製並粘貼到 模塊 窗口。

VBA代碼:將所有工作表導出到單獨的csv文件

Sub ExportSheetsToCSV()
	Dim xWs As Worksheet
	Dim xcsvFile As String
	For Each xWs In Application.ActiveWorkbook.Worksheets
		xWs.Copy
		xcsvFile = CurDir & "\" & xWs.Name & ".csv"
		Application.ActiveWorkbook.SaveAs Filename: = xcsvFile, _
		FileFormat: = xlCSV, CreateBackup: = False
		Application.ActiveWorkbook.Saved = True
		Application.ActiveWorkbook.Close
	Next
End Sub

3。 按 F5 鍵來運行代碼。 您會看到所有導出的csv文件都位於 文件 夾。 看截圖:

將所有工作表導出或轉換為文本文件

以下代碼可以幫助您將工作簿中的所有工作表導出或轉換為單獨的文本文件。

VBA代碼:將所有工作表導出到單獨的文本文件

Sub ExportSheetsToText()
	Dim xWs As Worksheet
	Dim xTextFile As String
	For Each xWs In Application.ActiveWorkbook.Worksheets
		xWs.Copy
		xTextFile = CurDir & "\" & xWs.Name & ".txt"
		Application.ActiveWorkbook.SaveAs Filename: = xTextFile, FileFormat: = xlText
		Application.ActiveWorkbook.Saved = True
		Application.ActiveWorkbook.Close
	Next
End Sub

導出的文本文件也位於 文件 夾。 看截圖:


使用Kutools for Excel將多個/所有工作表保存,導出或轉換為csv或文本文件

Y您可以使用以下命令在Excel中快速將多個或所有工作表導出或轉換為單獨的CSV文件,文本文件或xls文件格式。 拆分工作簿 的效用 Excel的Kutools.

申請前 Excel的Kutools首先下載並安裝.

1。 點擊 Kutools 加 > 工作簿 > 拆分工作簿。 看截圖:

2。 在裡面 拆分工作簿 對話框:

  • 1)。 如果要將所有工作表都轉換為csv或文本文件,只需選中所有工作表名稱 工作表名稱 框; 如果您只想轉換多個工作表,請繼續檢查它們,然後取消選中您不想轉換的其他工作表。
  • 2)。 在裡面 選項 部分,檢查 保存類型 框,然後選擇 Unicode文本(* .txt) or CSV(Macintosh)(*。csv) 從下拉列表中選擇。
  • 3)。 點擊 分裂 按鈕。

3。 在裡面 瀏覽文件夾 對話框中,指定一個文件夾來保存導出的文件,然後單擊 OK 按鈕。

現在,所有工作表或指定的工作表都將轉換為單獨的csv或文本文件,並按照上面的指定位於文件夾中。

  如果您想免費試用(30天)此實用程序, 請點擊下載,然後按照上述步驟進行操作。


使用Kutools for Excel將多個/所有工作表保存,導出或轉換為csv或文本文件

最佳辦公生產力工具

🤖 Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

產品描述


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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (38)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, thanks for the VBA, i have a problem with the VBA for export to text file, as the VBA run the txt file got generated, but the inside data is not exactly like the excel data, for example my data include character quotation mark, and the exported data became double quotation mark, plus the beginning and the ending of the text file there are quotation mark, here's the excel and the txt file that i meant :
excel : Start Chrome https://xxx/tap_inbox_sparepart_act.asp?proses_id=202300102027800&act=akseptoraksep"&"alasan=ok
text file : "Start Chrome https://xxx/tap_inbox_sparepart_act.asp?proses_id=202300102027800&act=akseptoraksep""&""alasan=ok"

Thanks in advanced :)
This comment was minimized by the moderator on the site
Hi Nicky,

I tested this code, but could not reproduce the problem in my case. And the file you provided didn't open. Can you upload your file using the "upload attachment" link below?
This comment was minimized by the moderator on the site
The VBA code works nicely. Equivalent C# code in a VSTO workbook project emits empty .csv files.


void SaveSomeWorksheetsAsCsvFiles() {
    string[] worksheetNames = new[] { "Sheet1", "Sheet2", "Sheet3" };
    foreach (var worksheet in worksheetNames.Select(_ => Globals.ThisWorkbook.Sheets[_] as Excel.Worksheet)) {
        worksheet.Copy();
        string fullName = @"C:\Users\....\Staging" + $".{worksheet.Name}.csv";
        this.SaveAs(fullName, XlFileFormat.xlCSV);
        Application.ActiveWorkbook.Saved = true;
        Application.ActiveWorkbook.Close();
    }
}
This comment was minimized by the moderator on the site
Hi Calvin,
We do not support programming languages other than VBA. Sorry for the inconvenience.
This comment was minimized by the moderator on the site
Hi, thanks for the great code (Export all sheets to separated Text files), using it a lot. Just ran into a workbook where it won't work, debugger says line xWs.Copy is problem, popup says method copy of a workbook failed. Is there any restrictions concerning a worksheet name or something similar, like no merged cells etc..?

Thanks for a reply :)
This comment was minimized by the moderator on the site
HI BI,
Does your worksheet contain a pivot table? Can you provide us with your data for tesing? If you don't mind, upload your sample file here.
This comment was minimized by the moderator on the site
Hi, thanks for the great code it is awesome(Export all sheets to separated Text files)! Used it on many occasions but ran into a file where it won't work, debugger says runtime error 1004 and that method copy of a worksheet failed and marks line xWs.Copy. Is there any rule concerning a worksheet name that would not allow code to run?
This comment was minimized by the moderator on the site
Thanks! I used this to save all the sheets of my .xlsx file into differents .xlsx
Sub ExportSheetsToXLSX()
Dim xWs As Worksheet
Dim xcsvFile As String
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xlsxFile = CurDir & "\" & xWs.Name & ".xlsx"
Application.ActiveWorkbook.SaveAs Filename:=xlsxFile, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next
End Sub
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations