如何在 Java 中使用 GroupDocs.Parser 預覽 Excel 檔案

如果您正在尋找 如何程式化預覽 Excel 試算表,您已經來對地方了。在本指南中,我們將說明如何使用 GroupDocs.Parser for Java 從 .xlsx 工作簿建立影像預覽(PNG)——非常適合快速產生縮圖、分享快照,或在您的應用程式中建構文件預覽功能。

快速解答

  • 「預覽 Excel」是什麼意思? 產生代表每個工作表頁面的影像檔(例如 PNG)。
  • 建議使用哪種格式? PNG 提供無損品質,且非常適合網頁縮圖。
  • 需要授權嗎? 免費試用可用於開發;正式上線需購買商業授權。
  • 可以調整影像解析度嗎? 可以——在 PreviewOptions 中調整 DPI。
  • 能否預覽其他格式? GroupDocs.Parser 也支援 PDF、Word 以及多種影像類型。

使用 GroupDocs.Parser 「預覽 Excel」是什麼?

GroupDocs.Parser 讀取 Excel 工作簿,將每個工作表渲染為視覺頁面,並允許您將這些頁面串流為影像檔。這樣就不需要 Office 互操作或第三方轉換器。

為什麼使用 GroupDocs.Parser 來預覽 Excel?

  • 不需要安裝 Office – 可在任何伺服器端 Java 環境執行。
  • 支援大型檔案 – 逐頁串流,降低記憶體使用量。
  • 高品質輸出 – 可控制 DPI、格式與渲染選項。
  • 跨格式彈性 – 同一套 API 可用於 PDF、Word 文件等。

前置條件

  • Java Development Kit(8 以上)。
  • IDE(如 IntelliJ IDEA 或 Eclipse)。
  • GroupDocs.Parser for Java SDK – 從 here 下載。
  • 要預覽的範例 Excel 檔案.xlsx)。
  • Maven 或 Gradle(可選)用於相依管理。

匯入套件

以下匯入讓您可以使用 parser、預覽選項以及串流處理工具。

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.PreviewOptions;
import com.groupdocs.parser.options.PreviewFormats;
import com.groupdocs.parser.options.ICreatePageStream;
import com.groupdocs.parser.options.IPreviewPageRender;
import com.groupdocs.parser.results.PageRenderInfo;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.IOException;

步驟說明:產生試算表頁面預覽

步驟 1:初始化 Parser 實例

建立指向您的 Excel 工作簿的 Parser 物件。try‑with‑resources 區塊會自動關閉 parser。

try (Parser parser = new Parser("path/to/your/sample.xlsx")) {
    // Your subsequent code will go here
}

專業提示: 使用絕對路徑或設定資源資料夾,以避免 FileNotFoundException

步驟 2:準備預覽選項

定義每頁的儲存方式。ICreatePageStream 實作會為每個工作表頁面返回一個新的 FileOutputStream

PreviewOptions previewOptions = new PreviewOptions(new ICreatePageStream() {
    @Override
    public OutputStream createPageStream(int pageNumber) {
        try {
            String outputPath = getOutputPath(pageNumber); // define this method later
            return new FileOutputStream(outputPath);
        } catch (IOException ex) {
            throw new RuntimeException("Error creating output stream", ex);
        }
    }
});

這一步即是 將 xlsx 轉換為 png——串流會將 PNG 資料寫入磁碟。

步驟 3:附加委派以捕獲渲染資訊

如果您需要每個已渲染工作表的詳細資訊(例如尺寸、工作表名稱),請註冊回呼函式。

final PageRenderInfo[] renderInfoHolder = {null}; // to store info

previewOptions.setPreviewPageRender(new IPreviewPageRender() {
    @Override
    public void previewPageRender(PageRenderInfo pageRenderInfo) {
        renderInfoHolder[0] = pageRenderInfo;
    }
});

步驟 4:指定輸出格式與 DPI

選擇 PNG 作為影像格式,並設定一個在品質與檔案大小之間取得平衡的 DPI。

previewOptions.setPreviewFormat(PreviewFormats.Png); // PNG images
previewOptions.setDpi(150); // Higher DPI for better clarity

若需要較小的縮圖(例如 96)或高解析度列印(例如 300),請調整 DPI。

步驟 5:產生預覽

完成所有設定後,呼叫 generatePreview。SDK 會遍歷每個工作表並呼叫您提供的串流。

parser.generatePreview(previewOptions);

步驟 6:定義 getOutputPath() 輔助方法

此方法會根據頁面(工作表)編號建立檔名。您可以自由自訂資料夾結構。

private static String getOutputPath(int pageNumber) {
    return "output/preview_page_" + pageNumber + ".png"; // Custom path
}

常見陷阱: 若事先未建立 output 目錄,會拋出 IOException。請以程式方式建立或確保其已存在。

完整範例(簡化版)

以下是一個將所有部件結合的精簡版範例。它示範了 建立 Excel 頁面預覽 的完整工作流程。

try (Parser parser = new Parser("path/to/your/sample.xlsx")) {
    final PageRenderInfo[] renderInfoHolder = {null};

    PreviewOptions options = new PreviewOptions(new ICreatePageStream() {
        @Override
        public OutputStream createPageStream(int pageNumber) {
            try {
                return new FileOutputStream(getOutputPath(pageNumber));
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    });

    options.setPreviewPageRender(pageRenderInfo -> {
        renderInfoHolder[0] = pageRenderInfo;
    });
    options.setPreviewFormat(PreviewFormats.Png);
    options.setDpi(150);

    parser.generatePreview(options);
} catch (Exception e) {
    e.printStackTrace();
}

執行此程式碼後,您會在 output 資料夾中看到一系列 preview_page_1.pngpreview_page_2.png… 檔案——每個檔案對應原始 Excel 工作簿中的一個工作表。

常見問題與解決方案

問題原因解決方案
未產生影像getOutputPath 回傳無效目錄確保目標資料夾存在,或使用 new File("output").mkdirs(); 建立它。
大型檔案記憶體不足錯誤一次載入整個工作簿使用串流方式(如示範)逐頁處理。
DPI 設定不正確setDpi 未呼叫或使用預設值 (96)generatePreview 前呼叫 previewOptions.setDpi(yourDesiredValue);
不支援的格式嘗試預覽受損的 .xlsx 檔案使用 Excel 檢查檔案,或在處理前使用 Parser.isSupported

常見問答

問:我可以使用 GroupDocs.Parser 產生 PDF 與影像的預覽嗎?
答:可以,相同的 API 可用於 PDF、Word 文件以及多種影像格式。

問:如何變更輸出影像格式?
答:呼叫 previewOptions.setPreviewFormat(PreviewFormats.Jpeg)(或 GifBmp 等)。

問:處理非常大型的工作簿時效能會是問題嗎?
答:SDK 會串流頁面,保持低記憶體使用。對於巨量檔案,可考慮平行批次處理。

問:如何處理預覽產生過程中的錯誤?
答:將程式碼包在 try‑catch 區塊(如示範),並記錄例外細節。若未使用 try‑with‑resources,請在 finally 區塊關閉串流。

問:此函式庫是否需要安裝 Microsoft Office?
答:不需要。GroupDocs.Parser 為純 Java 解決方案,適用於任何支援 Java 8+ 的平台。

結論

現在您已擁有使用 GroupDocs.Parser 進行 Excel 預覽 以及 將 xlsx 轉換為 png 的完整、可投入生產的方法。依需求調整 DPI、輸出資料夾或影像格式,並將此程式碼片段整合到更大的文件管理工作流程中。

準備好下一步了嗎?請參考官方 documentation 以了解進階渲染選項、受密碼保護的檔案以及批次處理技巧。


最後更新: 2026-02-06
測試版本: GroupDocs.Parser 23.11(撰寫時的最新版本)
作者: GroupDocs