Excel (XLSXLSX) 和PDF文件是几乎在所有业务中广泛使用的文档格式。对于这些常用的文件,我们有很多场景需要将一个文件转换为另一种格式。在本文中,我们将学习如何使用 C# 和 .NET 应用程序将 Excel 电子表格转换为 PDF 格式的不同方法。

使用 C# 将 Excel 电子表格转换为 PDF

.NET API 用于 Excel 文件到 PDF 的转换

GroupDocs.Conversion 提供的 API 允许在 .NET 应用程序中将 Excel 文件转换为 PDF 格式。在本文中,我们将使用 GroupDocs.Conversion for .NET 将 Excel XLS/XLSX 文件数据转换为 PDF 格式。此外,API 支持许多其他文件格式的转换,如 文档 中提到的文字处理文档、电子表格、演示文稿、电子书、图像等。

您可以从 下载部分 下载 DLLsMSI 安装程序,或通过 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 格式的步骤。

  • 使用 转换器 加载 Excel 文件。
  • 使用 PdfConvertOptions 定义转换选项
  • 设置起始页数序列中的后续页数。
  • 使用 conversion 选项调用 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 格式的步骤。

  • 使用 转换器 加载电子表格文件。
  • 选择图纸编号并使用 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 定义要转换的单元格范围
  • 使用 转换器 加载电子表格文件。
  • 使用 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 的更多信息。如有疑问,请通过 论坛 联系我们。

也可以看看