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

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

使用 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-day) 這個實用程序, 請點擊下載,然後按照上述步驟進行操作。


使用Kutools for Excel將多個/所有工作表保存,導出或轉換為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底部
按評論排序
留言 (37)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
有沒有辦法將 CSV 文件保存到 Documents 文件夾以外的文件夾中?
網站主持人對此評論進行了最小化
[quote]有沒有辦法讓 CSV 文件保存到 Documents 文件夾以外的文件夾中?亞歷克斯 K123456789[/quote] 我還沒有測試過,但我很漂亮這一行中的“\”代表工作目錄:xcsvFile = CurDir & "\" & xWs.Name & ".csv" 如果你想改變工作目錄,你必須添加另一個命令。 如果要將其保存到工作目錄中的文件夾中,例如在名為 new 的文件夾中,只需將“\”替換為“\New\”即可。 類似的東西。
網站主持人對此評論進行了最小化
非常感謝保羅。 我不久前就弄清楚了,但是您的解決方案正是我所做的。
網站主持人對此評論進行了最小化
好的! 感謝您的回复,知道我的解決方案是正確的對我來說也很重要。 乾杯!
網站主持人對此評論進行了最小化
嗨,亞歷克斯,你能告訴我你輸入的代碼行來代替“\”嗎? 我需要能夠將這些 .csv 文件保存到我們網絡上的某個位置,而不是我的本地 WS 庫中。 我們需要讓我們的客戶服務人員能夠在每次使用該文件時訪問該文件並重命名該位置。 我在簡單地將“\”更改為“\New\”時遇到了錯誤問題(當直接從上面的信息複製時,VBA 代碼確實按預期工作)。 我不是精通代碼,但我可以很好地遵循指示,因此感謝您的幫助!
網站主持人對此評論進行了最小化
[quote]嗨,Alex,你能告訴我你輸入的代碼行來代替“\”嗎? 我需要能夠將這些 .csv 文件保存到我們網絡上的某個位置,而不是我的本地 WS 庫中。 我們需要讓我們的客戶服務人員能夠在每次使用該文件時訪問該文件並重命名該位置。 我在簡單地將“\”更改為“\New\”時遇到了錯誤問題(當直接從上面的信息複製時,VBA 代碼確實按預期工作)。 我不是精通代碼,但我可以很好地遵循指示,因此感謝您的幫助!由黎明[/quote] 你好 Dawn,我最終不得不重寫部分,就像 Paul 建議的那樣,使用了一個稍微不同的命令。 下面是我編寫的命令,用於從數據倉庫刷新工作簿中的數據,然後刷新數據透視表並最終將其中一張工作表作為 PDF 保存到我的驅動器: ActiveWorkbook.RefreshAll Sheets("Karth").Select Range(" B22").Select ActiveSheet.PivotTables("Karth_Appd_Wkly").PivotCache.Refresh Sheets("Start").Select Sheets("Karth").ExportAsFixedFormat 類型:=xlTypePDF,文件名:= _"K:\K\Analytics\ Reports\Sales\SM Reports\SM Summary_Karth.pdf" _ , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ :=False, OpenAfterPublish:=False End Sub
網站主持人對此評論進行了最小化
嗨,謝謝你的代碼,是否可以跳過一些工作表而只保存一些工作表? 我不知道我應該如何開始。 你可以幫幫我嗎? 尼古拉斯
網站主持人對此評論進行了最小化
感謝宏,它們正是我所需要的。 但是,使用“CurDir”構建輸出文件路徑非常危險,因為它不一定是打開的 Excel 文件的文件夾 - 它通常是資源管理器中的當前文件夾,因此您的文件最終可能會被寫入幾乎任何地方。 您應該改用 Application.ThisWorkbook.Path。
網站主持人對此評論進行了最小化
我寫信是為了確定您的應用程序是否可以將多個 xls 工作表轉換為一個文本文件以及它將如何對行進行排序。 我需要有一個選項來按外觀順序對行進行排序,一次一行,一次一張。 表 1,第 1 行; 表 2,第 1 行,表 3,第 1 行等。我期待您的反饋。
網站主持人對此評論進行了最小化
嗨,感謝您的代碼,我只是有一個小小的說明。 目前,當 CSV 文件生成時,它由逗號“,”分隔。 即使我的系統設置是針對 CSV 的,分隔符也應該是管道“|”。 不確定為什麼使用上述代碼使用逗號分隔符生成 CSV。 有沒有辦法可以明確定義 CSV 文件的分隔符。 盡快尋找您的回复。 謝謝。 問候, 阿米特
網站主持人對此評論進行了最小化
你好亞歷克斯,請你顯示代碼以將文件保存為 csv 格式,但文檔文件夾除外
網站主持人對此評論進行了最小化
嗨,我需要一個轉換管道“|”的宏將 csv 分隔成 xlsx,詢問文件夾名稱而不是單個文件。 我緊急需要它。


問候,
網站主持人對此評論進行了最小化
抱歉無法解決這個問題
網站主持人對此評論進行了最小化
我需要一個宏來將 excel 文件中的所有選項卡轉換為不同的文件集。
網站主持人對此評論進行了最小化
美好的一天,
您想將哪些文件包含在“不同的文件集”中?
網站主持人對此評論進行了最小化
1)我有一個包含多張工作表的工作簿。
2)那些多張紙有多列。
3)我在每張表中有一個列,它是所有其他列的串聯。
4) 現在,我想將該連接列提取到與工作表名稱同名的文本文件中。
5)我想要的方式是我只需按一個按鈕,它應該查找所有選項卡,從每張表中提取該列(例如連接列是 AA),將其放入文本文件中,將文本文件命名為與工作表名稱相同並存儲在我桌面上的某個目錄中,比如 H 盤。
網站主持人對此評論進行了最小化
美好的一天,
抱歉幫不上忙,您可以在我們的論壇中發布您的問題: https://www.extendoffice.com/forum.html 從我們的專業人員那裡獲得更多的 Excel 支持。
網站主持人對此評論進行了最小化
A,我現在看到“VBA 代碼:將所有工作表導出到單獨的 csv 文件”這一行不應複製到代碼區域中。 也許對於新手和明確遵循指示的人來說,這可能更明確。
網站主持人對此評論進行了最小化
高健,
那是代碼的描述行。 “Sub ExportSheetsToCSV()”行應該是代碼的第一行。
對不起給您帶來不便。
網站主持人對此評論進行了最小化
謝謝 - 腳本非常有用
網站主持人對此評論進行了最小化
極好的解決方案......它節省了我的時間......謝謝
網站主持人對此評論進行了最小化
如果您只想轉換多張工作表,請繼續檢查它們並取消選中您不想轉換的其他工作表
先生,你有宏嗎?
網站主持人對此評論進行了最小化
美好的一天,
對此無法使用 VBA 代碼。 為什麼不嘗試我們在帖子中提供的拆分工作簿實用程序? 它會節省你的時間,你會喜歡它。
網站主持人對此評論進行了最小化
你好,
非常感謝你提供了一個很棒的宏,它就像一個魅力! 但是我有一個問題,如果我想將這個宏(CSV 版本)保存在 PERSONAL.xlsb 上以使其在任何 excel 實例上可用,該怎麼辦?

當我嘗試時,CurDir 採用 PERSONAL 目錄,而不是活動工作表...

感謝您的任何幫助!
網站主持人對此評論進行了最小化
嗨米爾科,
本文中的方法可以幫你一個忙: https://trumpexcel.com/personal-macro-workbook/.
網站主持人對此評論進行了最小化
有沒有辦法使用此代碼僅將某個範圍導出到書中每張紙的 .csv 文件?
網站主持人對此評論進行了最小化
嗨,
本文中的 VBA 代碼可能會對您有所幫助: https://www.extendoffice.com/documents/excel/2897-excel-export-range-to-csv.html
網站主持人對此評論進行了最小化
所以,這太棒了! 但是,如果我需要將工作簿拆分為 .csv 但對於 PC,而不是 MAC,該怎麼辦? 如果有人有辦法做到這一點,請幫助我。 我將不勝感激。
網站主持人對此評論進行了最小化
嗨,
這篇文章中的第一個 VBA 代碼可以幫你一個忙。
網站主持人對此評論進行了最小化
我將如何更改代碼以將其保存為不同的文件格式,例如 xlsx? 或 ASCII。
網站主持人對此評論進行了最小化
謝謝! 我用它來將我的 .xlsx 文件的所有工作表保存到不同的 .xlsx
子 ExportSheetsToXLSX()
將 xWs 調暗為工作表
將 xcsvFile 調暗為字符串
對於 Application.ActiveWorkbook.Worksheets 中的每個 xW
xWs.複製
xlsxFile = CurDir & "\" & xWs.Name & ".xlsx"
Application.ActiveWorkbook.SaveAs 文件名:=xlsxFile,_
FileFormat:= xlOpenXMLWorkbook,CreateBackup:= False
Application.ActiveWorkbook.Saved = True
應用程序.ActiveWorkbook.關閉
下一頁
END SUB
網站主持人對此評論進行了最小化
嗨,感謝偉大的代碼,它很棒(將所有工作表導出到單獨的文本文件)! 多次使用它,但遇到了一個無法正常工作的文件,調試器說運行時錯誤 1004 並且工作表的該方法副本失敗並標記行 xWs.Copy。 是否有任何關於不允許代碼運行的工作表名稱的規則?
網站主持人對此評論進行了最小化
嗨,感謝偉大的代碼(將所有工作表導出到單獨的文本文件),使用它很多。 剛剛遇到一個不起作用的工作簿,調試器說行 xWs.Copy 是問題,彈出窗口說工作簿的方法複製失敗。 是否有關於工作表名稱或類似名稱的任何限制,例如沒有合併的單元格等。

感謝您的回复:)
網站主持人對此評論進行了最小化
嗨,畢,
您的工作表是否包含數據透視表? 你能提供給我們你的測試數據嗎? 如果您不介意,請在此處上傳您的示例文件。
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

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