Excel(XLS、XLSX)和PDF 文件屬於幾乎所有企業都廣泛使用的文檔格式。對於這種常用的文件,在很多場景下我們都需要將一個文件轉換成另一種格式。在本文中,我們將學習使用 C# 和 .NET 應用程序將 Excel 電子表格轉換為 PDF 格式的不同方法。
- 用於 Excel 文件到 PDF 轉換的 .NET API
- Excel 工作表到 PDF 轉換
- Excel 工作表到 PDF 轉換的順序
- Excel 工作表到 PDF 轉換的具體列表
- 將所選單元格範圍從 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 格式。
- 使用 SpreadsheetLoadOptions 準備加載選項。
- 使用 轉換器 加載 Excel 電子表格。
- 使用 PdfConvertOptions 調用 Convert() 方法以轉換所有工作表並保存為 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 的序列 - 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 的更多信息。如有疑問,請通過論壇 聯繫我們。