將 Excel 轉換為 PDF – 每個工作表一頁,使用 GroupDocs Java

在當今以數據為驅動的環境中,將 Excel 工作簿轉換為 PDF,同時保持每個工作表各自佔一頁——one page per sheet——是一項常見需求。無論您是需要從試算表報告生成 PDF、分享唯讀版本,還是歸檔資料,保留版面配置和格線都很重要。本教學將指導您使用 GroupDocs.Conversion for Java,將 Excel 檔案轉換為 PDF,並啟用 one page per sheet 選項,同時說明如何 show grid lines 以及其他實用設定。

快速解答

  • 「one page per sheet」是什麼意思? 每個工作表會在 PDF 中呈現在單獨的頁面上。
  • 我可以在 PDF 中顯示格線嗎? 可以,在載入選項中啟用 setShowGridLines(true)
  • 哪個函式庫負責轉換? GroupDocs.Conversion for Java。
  • 我需要授權嗎? 免費試用可用於測試;正式環境需購買授權。
  • 是否支援批次轉換? 可以,使用相同的 API 迴圈處理多個檔案。

「one page per sheet」轉換是什麼?

one page per sheet 設定告訴轉換器將 Excel 工作簿中的每個工作表視為產生的 PDF 中的單獨頁面。此設定可保持原始工作簿結構完整,並讓讀者更容易瀏覽。

為何使用 GroupDocs.Conversion for Java 從試算表產生 PDF?

  • High fidelity – 保留格式、公式與樣式。
  • Performance – 為大型工作簿與批次處理進行最佳化。
  • Flexibility – 支援顯示格線、設定頁面方向等選項。
  • Cross‑platform – 可在任何相容 Java 的環境中執行。

前置條件

  • Java Development Kit (JDK) 8 或更高版本。
  • GroupDocs.Conversion for Java 函式庫(我們將透過 Maven 加入)。
  • 如 IntelliJ IDEA 或 Eclipse 等 IDE。
  • 具備 Maven 依賴管理的基本概念(有助但非必需)。

設定 GroupDocs.Conversion for Java

Add the GroupDocs repository and dependency to your pom.xml:

<repositories>
   <repository>
      <id>groupdocs-repo</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/conversion/java/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-conversion</artifactId>
      <version>25.2</version>
   </dependency>
</dependencies>

授權

GroupDocs 提供免費試用與多種授權等級。您可取得臨時授權以進行評估,或購買正式授權以供生產環境使用。

初始化與設定

After adding the dependency, you can verify that the library loads correctly:

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.load.SpreadsheetLoadOptions;

public class InitializeGroupDocs {
    public static void main(String[] args) {
        System.out.println("GroupDocs Conversion for Java Initialized.");
    }
}

試算表文件的載入選項

如何設定「one page per sheet」與顯示格線

SpreadsheetLoadOptions 類別讓您在轉換前微調工作簿的解讀方式。

import com.groupdocs.conversion.options.load.SpreadsheetLoadOptions;

public class LoadSpreadsheetWithOptions {
    public static void run() {
        SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
        
        // Show grid lines in the converted document
        loadOptions.setShowGridLines(true);
        
        // Ensure each sheet is on a separate page
        loadOptions.setOnePagePerSheet(true);
    }
}
  • setShowGridLines(true) – 在 PDF 中保留格線樣式。
  • setOnePagePerSheet(true) – 啟用主要的 one page per sheet 行為。

將試算表轉換為 PDF

步驟說明的轉換程式碼

With the load options configured, the conversion itself is straightforward:

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;

public class ConvertSpreadsheetToPdf {
    public static void run(String inputFilePath, String outputFilePath) {
        SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
        loadOptions.setShowGridLines(true);
        loadOptions.setOnePagePerSheet(true);
        
        Converter converter = new Converter(inputFilePath, () -> loadOptions);
        PdfConvertOptions options = new PdfConvertOptions();
        
        converter.convert(outputFilePath, options);
    }
}
  • Converter 處理整個轉換流程。
  • PdfConvertOptions 讓您指定 PDF 專屬設定(壓縮、影像品質等)。

批次轉換 Excel PDF Java

若要處理多個工作簿,只需遍歷檔案路徑集合,對每個檔案呼叫 ConvertSpreadsheetToPdf.run()。此方法可在最少程式碼變更下支援 batch convert excel pdf 情境。

實務應用

  1. Automated Report Generation – 將每月財務 Excel 檔案轉換為 PDF 以供發佈。
  2. Team Collaboration – 分享保留格線的唯讀 PDF,確保所有人看到相同的版面配置。
  3. Long‑Term Archiving – 將試算表存為 PDF,以防止意外編輯,同時保持視覺完整性。

效能考量

  • Memory Management – 轉換大型工作簿時分配足夠的堆積空間。
  • Batch Processing – GroupDocs.Conversion 可平行處理多個檔案;請監控 CPU 使用率。
  • Load Options Tuning – 停用不必要的功能(例如公式)可縮短處理時間。

常見問題與解決方案

IssueSolution
Out‑OfMemoryError on large files增加 JVM 堆積大小 (-Xmx2g 或更高) 並考慮逐個工作表轉換。
Grid lines not appearing確保在建立 Converter 之前呼叫 loadOptions.setShowGridLines(true)
All sheets merged onto one page確認已設定 loadOptions.setOnePagePerSheet(true);較舊的函式庫版本可能需要不同的屬性。

常見問答

Q: convert excel pdf javaexcel pdf conversion java 有何差異?
A: 兩者皆指相同的流程——使用 Java 將 Excel 工作簿轉換為 PDF 檔案。雖然說法不同,但底層的 API 呼叫相同。

Q: 我可以自訂 PDF 的頁面大小或方向嗎?
A: 可以,PdfConvertOptions 提供 setPageSize()setPageOrientation() 等方法以調整輸出。

Q: 是否可以在保留每頁一工作表的版面下隱藏格線?
A: 完全可以。設定 loadOptions.setShowGridLines(false),同時保留 setOnePagePerSheet(true)

Q: 如何處理受密碼保護的 Excel 檔案?
A: 在建立 Converter 實例時,使用接受含有憑證的 LoadOptions 的重載方法,提供密碼。

Q: GroupDocs 是否支援其他試算表格式(例如 CSV、ODS)?
A: 支援,函式庫可載入並將多種試算表類型轉換為 PDF。

資源


最後更新: 2026-04-10
測試環境: GroupDocs.Conversion 25.2 for Java
作者: GroupDocs