Excel(XLSXLSX)和PDF 文件屬於幾乎所有企業都廣泛使用的文檔格式。對於這種常用的文件,在很多場景下我們都需要將一個文件轉換成另一種格式。在本文中,我們將學習使用 C# 和 .NET 應用程序將 Excel 電子表格轉換為 PDF 格式的不同方法。

使用 C# 將 Excel 電子表格轉換為 PDF

用於 Excel 文件到 PDF 轉換的 .NET API

GroupDocs.Conversion 提供了允許在 .NET 應用程序中將 Excel 文件轉換為 PDF 格式的 API。在本文中,我們將使用 GroupDocs.Conversion for .NET 將 Excel XLS/XLSX 文件數據轉換為 PDF 格式。此外,API 支持許多其他文件格式的轉換,例如 文檔 中提到的文字處理文檔、電子表格、演示文稿、電子書、圖像等。

您可以從 下載部分 下載 DLL 或 MSI 安裝程序,或通過 NuGet 在您的 .NET 應用程序中安裝 API。

PM> Install-Package GroupDocs.Conversion

將 Excel 工作表轉換為 PDF - C#

以下步驟使用 C# 將完整的工作簿(所有工作表)轉換為 PDF 格式。

以下是有關如何在 .NET 應用程序中將完整的 Excel 工作簿轉換為 PDF 的 C# 源代碼。

/*
 * 使用 C# 將所有 Excel 工作表轉換為 PDF 格式
 */
// 為源 XLSX 文件準備加載選項和範圍
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    OnePagePerSheet = true
};
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    // 將電子表格轉換並保存為 PDF 格式
    converter.Convert(@"path/all-sheets-converted.pdf", new PdfConvertOptions());
}
從 Excel 數據轉換為 PDF

Excel 工作表轉換為 PDF 的序列 - C#

並不總是需要轉換整個工作簿。我們還可以轉換任意連續數量的工作表。以下是使用 C# 將 Excel 工作簿工作表的任何子序列轉換為 PDF 格式的步驟。

  • 使用 Converter 加載 Excel 文件。
  • 使用 PdfConvertOptions 定義轉換選項。
  • 依次設置起始頁數和後續頁數。
  • 使用轉換選項調用 Convert() 方法,以獲取以 PDF 格式保存的順序工作表子集。

以下是在 .NET 應用程序中按順序將工作表(即工作表編號 2、3 和 4)轉換為 PDF 的 C# 源代碼。

/*
 * 使用 C# 將 Excel 工作表序列轉換為 PDF 格式
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // 設置起始張數和連續張數
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
    };
    // 將電子表格轉換並保存為 PDF 格式
    converter.Convert(@"path/sequential-sheets-converted.pdf", convertOptions);
}

特定 Excel 工作表到 PDF 的轉換 - C#

我們可以簡單地提供用於特定工作表轉換的工作表編號列表。以下是如何使用 C# 將任何特定的工作表編號列表轉換為 PDF 格式的步驟。

  • 使用 Converter 加載電子表格文件。
  • 選擇頁碼並使用 PdfConvertOptions 設置為列表。
  • 使用轉換選項調用 Convert() 方法,將列出的工作表轉換為 PDF 格式。

以下 C# 代碼片段在 .NET 應用程序中將工作表編號 1、3 和 5 轉換為 PDF。

/*
 * 使用C#將指定的Excel工作表列表轉換為PDF格式
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // 將列表設置為轉換時的工作表編號
    var convertOptions = new PdfConvertOptions()
    {
        Pages = new System.Collections.Generic.List<int> { 1,3,5}
    };
    // 將電子表格轉換並保存為 PDF 格式
    converter.Convert(@"path/selected-sheets-conversion.pdf", convertOptions);
}

將 Excel 工作表的選定單元格範圍轉換為 PDF - C#

最後但同樣重要的是,實際上也是最棘手的一個,我們還可以使用與其他方法幾乎相似的方式轉換 Excel 工作表的任何單元格範圍。以下是使用 C# 將工作簿工作表的任何單元格範圍轉換為 PDF 格式的步驟。

  • 首先,使用 SpreadsheetLoadOptions 定義要轉換的單元格範圍。
  • 使用 Converter 加載電子表格文件。
  • 使用 PdfConvertOptions 通過確切的圖紙編號或子序列選擇圖紙。
  • 使用轉換選項調用 Convert() 方法,將選定工作表的選定單元格範圍轉換為 PDF 格式。

以下代碼使用 C# 將工作表編號 2、3 和 4 的單元格區域 (A1:C20) 轉換為 PDF 格式。

/*
 * 使用C#將指定Excel工作表的指定單元格範圍轉換為PDF格式
 */
// 為源 XLSX 文件準備加載選項和範圍
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    ConvertRange = "A1:C20"
};
using (var converter = new Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
        // 頁面 = 新的 System.Collections.Generic.List<int> { 2,3,4}
    };
    // 轉換後另存為PDF
    converter.Convert(@"path/cell-range-converted.pdf", convertOptions);
}

結論

總之,我們學習了使用 C# 將 Excel 電子表格轉換為 PDF 格式的不同方法。首先,我們希望將整個工作簿轉換為 PDF 格式,然後我們轉換工作表的子序列。後來,我們學習瞭如何通過提供確切的工作表編號列表來轉換任何工作表,最後,我們從選定工作表的選定單元格範圍中獲取了 PDF 文件。

文檔 中了解有關 GroupDocs.Conversion API 的更多信息。如有疑問,請通過論壇 聯繫我們。

也可以看看