將文字檔合併到 Excel 是分兩個階段的流程:先在本機將來源檔合併成單一 UTF-8 文字檔,再透過 Excel 的「文字匯入精靈」或較新的「取得資料」選單匯入該合併檔。第一階段控制檔案順序、分隔字元與編碼;第二階段控制 Excel 如何將合併結果分割成列與欄。略過任何一個階段,或期望單一工具同時完成兩件事,就是人們最後會得到錯亂的列、損壞的分隔符,或空白工作表的原因。Text File Merger 在您的瀏覽器中處理第一階段,將 2–20 個 TXT、CSV、MD 或 LOG 檔(總計最多 10 MiB)依照您選定的順序合併,分隔符可從一個換行、一個空白行或不加分隔中擇一選擇。此工具絕不會上傳檔案,絕不會變更您的原始檔,並產生一個合併後的 merged-text.txt,您接著可以用明確的欄位分隔符匯入 Excel。

how to merge text files into excel
如何在不重新調整格式的情況下將文字檔合併到 Excel

合併與匯入是兩項獨立的工作

大多數搜尋結果把「將文字檔合併到 Excel」當成只要按一個神奇按鈕就能完成的事。實際上並沒有。合併與匯入是兩項獨立的操作,將它們混為一談,正是幾乎所有「我的資料看起來正確,但 Excel 卻把所有內容放到同一欄」抱怨的根源。

合併指的是取兩個或多個檔案的原始文字內容,依照選定順序並以選定的分隔符產生單一合併檔。輸出結果仍然是文字。匯入指的是在 Excel 中開啟該合併文字,並透過分隔符、資料型別與欄位規則告訴 Excel 某個儲存格在哪裡結束、下個儲存格從哪裡開始。Text File Merger 執行合併;Excel 執行匯入。一旦您把它們視為兩個階段,流程的其餘部分就會更容易除錯。

這種拆分也是為什麼合併檔會以一般的 merged-text.txt 下載,而非 .xlsx 活頁簿。該工具不會假裝知道 Excel 會如何解讀您的欄位,因為這取決於您在第二階段所做的分隔符、編碼與標頭選擇。

工具強制執行的檔案類型、大小與其他限制

Text File Merger 對於接受的檔案刻意採取嚴格限制。可接受的副檔名為 TXT、CSV、MD 與 LOG,且在任何檔案被讀取之前,合併輸入的總量上限為 10 MiB。若總量超過 10 MiB 即使僅多一個位元組,合併動作會在解碼任何內容之前就被拒絕。您至少需要兩個檔案;單一檔案的合併不算合併。最多二十個檔案。

可接受的副檔名工具如何處理對 Excel 的影響
TXT解碼為純文字,字元原樣串接可使用 Excel 偵測到的任何分隔符安全匯入
CSV解碼為純文字;CSV 引號、標頭與帶引號的多行記錄都保留為普通字元僅在每個 CSV 使用相同結構描述、分隔符、編碼與標頭列時才安全
MD解碼為純文字;Markdown 語法會保留而非去除適用於拼接章節;無法取代具備 Markdown 感知能力的解析器
LOG解碼為純文字;記錄與時間戳記保留為字元適用於附加摘錄;解析仍須在 Excel 或其他工具中進行

此工具將每個接受的檔案都視為文字。將二進位檔重新命名為 .txt 並不會使其變成具備格式感知的解析器,而以文字方式解碼的二進位檔可能會顯示替換字元。請在信任結果之前檢查預覽。

逐步說明如何合併文字檔

  1. 在目前的瀏覽器分頁中開啟 Text File Merger。
  2. 在檔案選擇器中,依您希望它們出現在合併結果中的確切順序,選取兩個到二十個副檔名為 TXT、CSV、MD 或 LOG 的檔案。
  3. 選擇一種分隔符:一個換行(檔案之間以單一 LF 分隔)、一個空白行(兩個 LF 字元)或無分隔符(前一個檔案的最後一個字元直接緊接著下一個檔案的第一個字元)。
  4. 點擊合併動作。該工具會在本機讀取每個檔案,依照選擇器順序與所選分隔符串接解碼後的字串,並在預覽區域中呈現完全相同的合併結果。
  5. 仔細檢查預覽。若檔案出現在錯誤的位置,請以不同順序重新選取檔案;此工具絕不會依名稱、日期或大小排序。
  6. 點擊下載,將結果儲存為 merged-text.txt。下載使用暫時性的 UTF-8 Blob URL,並在完成後立即撤銷,因此不會發生上傳,也不會累積任何 Blob URL。

瀏覽器的檔案選擇器通常會保留選取順序,但當順序很重要時,請在預覽中加以確認。選取新檔案或新分隔符會清除先前的結果,因此不會將過期的輸出與目前的輸入混淆。

為 Excel 相容輸出選擇正確的分隔符

每種分隔符選項都會在檔案之間插入一組特定且固定的字元序列。它們都不會修剪每個檔案內部既有的換行符,也不會去除重複的邊界。每個解碼後檔案內部既有的開頭與結尾換行符會完全依照瀏覽器讀取時的內容保留,因此若某個檔案已經以 LF 結尾,再加上空白行選項,就會在下一個檔案開始前產生三個連續的 LF 字元。

分隔符選項檔案之間插入的字元在 Excel 匯入期間的效果
一個換行恰好一個 LF相鄰檔案共用單一換行,適用於每個檔案是連續清單延伸部分的連續性內容
一個空白行恰好兩個 LF 字元相鄰檔案以空白行視覺區隔;這是堆疊章節、筆記或記錄摘錄時最常見的選擇
無分隔符不插入任何字元相鄰檔案以字元對字元方式黏合;僅在每個檔案結尾恰好已是下一個檔案應立即接續的字元時才選擇此項

對 Excel 而言,最可靠的起點是一個空白行,因為 Excel 的匯入精靈將空白行視為記錄分隔符的處理方式,比模糊的單一換行接合更為可預期。若您的檔案已經以一致換行結尾,並希望緊密串接,請選擇一個換行。無分隔符屬於進階使用者選項,幾乎總是會產生需要在 Excel 內部手動清理的結果。

將合併檔匯入 Excel

取得 merged-text.txt 後,第二階段隨即開始:將該檔案匯入 Excel。Excel 在較舊版本中透過「文字匯入精靈」處理此工作,在 Excel 2016 及更新版本中則透過「取得資料」流程。

  1. 在 Excel 中,開啟一個空白活頁簿,或選擇您希望合併資料落入的工作表。
  2. 在資料索引標籤上,選擇取得資料 → 從檔案 → 從文字/CSV(Excel 2016 以上版本),或在較舊版本中選擇從文字。
  3. 選取下載的 merged-text.txt 檔案。Excel 會開啟一個預覽窗格,偵測檔案來源、分隔符與資料型別偵測。
  4. 確認分隔符與您的來源檔實際使用的相符(逗號、Tab、分號或其他字元)。分隔符偵測與合併階段所選的分隔符無關;合併階段控制檔案間的接合,而此對話框控制檔案內的欄位分割。
  5. 若您的第一個檔案包含標頭,請勾選我的資料有標頭,Excel 會將該列升級為標頭。請注意,若每個合併檔都包含各自的標頭,則除了第一個以外的所有標頭列都會顯示為資料列,因為 Text File Merger 不會去除重複的標頭。
  6. 點擊載入,將合併內容放入您的工作表。

若預覽看起來不正確,請在預覽窗格中點擊轉換資料,開啟 Power Query 並以完整復原功能調整分隔符、資料型別與標頭列。在匯入前做快速健全性檢查時,可用任何文字編輯器開啟該檔案,並確認行數與合併預覽中所見相符。

CSV 相容性、記錄與其他需先確認的事項

Text File Merger 對於它不做哪些事情非常明確。它不會驗證 CSV 檔案是否共用相同的結構描述、不會去除重複的標頭、不理解 Markdown 結構,也無法剖析記錄資料。串接之所以有效,是因為此工具僅串接字串;之所以能保留結構,是因為此工具不會變更每個檔案內部的任何內容。

因此有三項合併前的檢查至關重要。首先,若您在堆疊 CSV 檔案,請確認每個檔案使用相同的分隔符、相同的引號樣式、相同的編碼(UTF-8 最為安全),以及每列相同的欄數。結構描述不一致的 CSV 會產生欄寬不一致的 Excel 工作表,且工具不會發出警告。其次,若您的來源檔是記錄(LOG)資料,請決定時間戳記是否需要排序;此合併器保留的是選擇器順序,而非時間順序。第三,若您的來源檔是 Markdown 章節,則 # 標題在 Excel 中會以一般行顯示,因為合併過程中不會進行任何 Markdown 剖析。

對於敏感資料或接近 10 MiB 上限的檔案,建議使用具有明確編碼與串流行為的本機命令列工具,因為瀏覽器版本適用於有限範圍內的便利操作,而非用於封存保存。在您於 Excel 中開啟 merged-text.txt 並確認匯入結果正確之前,請保留原始檔;同樣的解碼字串、同樣的順序、同樣的分隔符必定會重現同樣的結果,因此意外的輸出幾乎都是輸入或匯入精靈的問題,而非工具本身的錯誤。

若您希望使用更快速的三步驟捷徑,跳過上述大部分設定,適用於 Excel 的本機合併流程以更精簡的格式涵蓋了相同內容。當您擁有超過少數幾個檔案、混合副檔名,或需要謹慎處理分隔符與標頭的匯入時,本文中的詳細步驟會有所助益。

若您正在權衡各種選項,在本機比對 Excel 中的兩個清單以找出相符項目對此有詳細說明。