如何使用 GroupDocs.Parser for Java 解析 Excel – 指南
在當今以數據為中心的應用程式中,如何解析 Excel 檔案的效率可能關係到工作流程的成敗。無論您是遷移舊有資料、產生自動化報告,或是將原始文字輸入分析管線,從每個工作表提取未格式化的文字都是常見需求。本教學將帶您使用 GroupDocs.Parser for Java 解析 Excel 檔案、讀取 Excel 工作表文字,並以最少的程式碼取得原始內容。
快速解答
- 什麼函式庫負責在 Java 中解析 Excel? GroupDocs.Parser for Java.
- 我可以從每個工作表提取原始文字嗎? 可以,使用啟用 raw 模式的
TextReader。 - 我需要授權嗎? 可取得暫時的免費授權以供評估。
- 需要哪個 Java 版本? JDK 8 或更高版本。
- 支援 Maven 嗎? 當然 – 將儲存庫與相依性加入
pom.xml。
使用 GroupDocs.Parser 解析 Excel 是什麼意思?
使用 GroupDocs.Parser 解析 Excel 意味著以程式方式開啟 .xlsx(或其他支援的)活頁簿,遍歷其工作表,並讀取未經格式化的純文字。此方法比將整個活頁簿載入龐大的試算表 API 更快,且可直接存取底層字元。
為何使用 GroupDocs.Parser for Java?
- 速度快且佔用記憶體低: 每次處理一個工作表。
- 廣泛的格式支援: 支援 XLSX、XLS、CSV 等多種格式。
- 簡易 API: 只需幾行程式碼即可開始提取文字。
- 企業級授權: 提供免費試用,之後有可擴充的商業方案。
前置條件
- Java Development Kit (JDK): 8 或更新版本。
- IDE: IntelliJ IDEA、Eclipse,或任何相容 Java 的編輯器。
- Maven(可選): 方便的相依性管理工具。
設定 GroupDocs.Parser for Java
Maven 設定
如果您使用 Maven 管理相依性,請將儲存庫與相依性加入您的 pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/parser/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>25.5</version>
</dependency>
</dependencies>
直接下載
或者,直接從 GroupDocs releases 下載最新版本的 GroupDocs.Parser for Java。
取得授權
若要開始免費試用,請前往 GroupDocs website 取得暫時授權。這讓您在購買正式授權前,先評估函式庫的完整功能。
基本初始化與設定
將函式庫加入 classpath 後,您即可建立指向 Excel 活頁簿的 Parser 實例:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.options.IDocumentInfo;
import com.groupdocs.parser.options.TextOptions;
String excelFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.xlsx";
try (Parser parser = new Parser(excelFilePath)) {
// Your code to work with the document
} catch (Exception e) {
e.printStackTrace();
}
環境就緒後,讓我們深入實際的提取邏輯。
如何解析 Excel:從工作表提取原始文字
步驟 1 – 取得文件資訊
首先,取得活頁簿的中繼資料,例如工作表(原始頁面)的數量。
IDocumentInfo spreadsheetInfo = parser.getDocumentInfo();
步驟 2 – 迭代每個工作表並讀取文字
遍歷每個工作表,提取原始、未格式化的文字。TextOptions(true) 旗標會啟用 raw 模式。
for (int p = 0; p < spreadsheetInfo.getRawPageCount(); p++) {
try (TextReader reader = parser.getText(p, new TextOptions(true))) {
String sheetContent = reader.readToEnd();
// Process or use extracted text data here
}
}
處理提取的資料
此時 sheetContent 包含當前工作表的純文字。您可以:
- 將其寫入
.txt檔案以作存檔。 - 將其輸入自然語言處理管線。
- 將其儲存至資料庫以供日後查詢。
常見問題與解決方案
| 問題 | 發生原因 | 解決方案 |
|---|---|---|
| 找不到檔案 | excelFilePath 錯誤。 | 確認路徑正確且檔案可讀取。 |
| 不支援的格式 | 使用較舊的 XLS 檔案搭配較新的解析器版本。 | 將檔案轉換為 XLSX,或升級至最新的 GroupDocs.Parser 版本。 |
| 大型活頁簿記憶體不足錯誤 | 一次載入所有工作表。 | 如範例所示一次處理一個工作表,並及時釋放資源。 |
| 授權例外 | 試用期已過或缺少授權檔案。 | 在解析前套用有效的暫時或正式授權。 |
實務應用(讀取 Excel 工作表文字)
- Data Migration: 將舊有試算表資料遷移至現代資料庫,免除手動複製貼上。
- Automated Reporting: 從多個活頁簿提取原始值,以產生合併的 PDF 或 HTML 報告。
- Search Indexing: 在 Elasticsearch 中建立提取文字的索引,以快速搜尋內容。
大型 Excel 檔案的效能建議
- Stream per sheet: 迴圈已一次處理單一工作表,降低記憶體使用。
- Reuse
TextReaderobjects: 避免在緊密迴圈中建立不必要的物件。 - Parallel processing: 對於極大型活頁簿,可考慮在不同執行緒中處理工作表,但需留意
Parser實例的執行緒安全性。
常見問答
Q: GroupDocs.Parser 還支援哪些試算表格式?
A: 它支援 XLSX、XLS、CSV 以及其他 Office Open XML 格式。
Q: 我可以同時提取儲存格的格式資訊嗎?
A: 可以,使用未啟用 raw 旗標的 TextOptions 即可取得格式化文字。
Q: 如何處理受密碼保護的 Excel 檔案?
A: 在 Parser 建構子中傳入密碼,例如 new Parser(filePath, "password")。
Q: 有辦法只提取特定欄位嗎?
A: 您可以在 sheetContent 後處理以過濾行,或使用 SpreadsheetOptions API 進行更細緻的控制。
Q: 哪裡可以找到更多程式碼範例?
A: 請參閱 GroupDocs documentation 與 GitHub 倉庫以取得更多範例。
資源
- 文件說明: GroupDocs Parser Java Docs
- API 參考: API Reference
- 下載: Latest Releases
- GitHub 倉庫: GroupDocs.Parser on GitHub
- 免費支援論壇: GroupDocs Parser Forum
- 暫時授權: Obtain a Temporary License
最後更新: 2026-02-14
測試環境: GroupDocs.Parser 25.5 for Java
作者: GroupDocs