Excel 转 PDF

将 XLSB 转换为 PDF | 在线开发 Excel 到 PDF 转换器

XLSB 格式指定 Excel 二进制文件格式,并且非常流行,因为它可以更快地读取和写入,这对于非常大的电子表格非常有用。但是,为了查看 XLSB 文件,您需要使用 Microsoft Excel 或 OpenOffice Calc(多平台)。但将这些文件转换为 PDF 是一个可行的解决方案。因此,在本文中,我们将讨论如何以编程方式将 XLSB 转换为 PDF 格式的细节。

Excel 转换 API

Aspose.Cells Cloud 是一个基于 REST 架构的 Excel 文件处理 API,提供创建、编辑和转换为 支持的文件格式 的功能。我们将使用 Aspose.Cells Cloud SDK for .NET,因此第一步是在系统上安装它。请访问以下文章以了解有关 如何安装 Aspose.Cloud SDK 的更多信息。

在 C# 中将 XLSB 转换为 PDF

请按照以下步骤使用 C# .NET 执行 XLSB 到 PDF 的转换。

将 Excel 转换为 PDF

在本节中,我们将讨论将完整的工作簿转换为 PDF 格式的步骤。

  • 首先,创建 CellsApi 类的实例,并传递 ClientID 和 ClientSecret 详细信息作为参数。
  • 其次,使用 File.OpenRead 将输入的 XLSB 文件读入流对象。
  • 第三,使用 CellsApi 类的 UploadFile(…) 方法将 XLSB 文件上传到云存储。
  • 最后,调用 CellsWorkbookGetWorkbook(..) 方法,输入 XLSB 名称、输出格式详细信息和生成的 PDF 文件的名称。
// 如需完整的示例和数据文件,请访问 
https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/

// 从 https://dashboard.aspose.cloud/ 获取客户端凭据
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
        
// 创建 CellsApi 实例并传递 ClientID 和 ClientSecret
CellsApi instance = new CellsApi(clientID, clientSecret);

// 输入 Excel 文件的名称
string name = "input.xlsb";
// 结果文件的名称
string resultantFile = "Converted.pdf";

// 结果文件的格式
string format = "PDF";
        
try
{
    // 从本地驱动器加载 XLSB 文件
    using (var file = System.IO.File.OpenRead(@"C:\Users\Downloads\" + name))
    {
        // 将输入文件上传至云存储
        instance.UploadFile(name, file);
         
        // 初始化转换操作
        var response = instance.CellsWorkbookGetWorkbook(name, format: format,outPath:resultantFile); 
        
        if (response != null && response.Equals("OK"))
        {
            // 在控制台中显示确认消息
            Console.WriteLine("XLSB Successfully converted to PDF !");
            Console.ReadKey();
        }
    }
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

将选定的工作表保存为 PDF

在本节中,我们将讨论将 XLSB 工作簿中的特定工作表转换为 PDF 格式。

  • 第一步是创建 CellsApi 类的实例,同时传递 ClientID 和 ClientSecret 详细信息作为参数。
  • 其次,使用 File.OpenRead 将输入的 XLSB 文件读入流对象。
  • 现在使用 CellsApi 类的 UploadFile(…) 方法将 XLSB 文件上传到云存储。
  • 最后,调用 CellsWorksheetsGetWorksheet(..) 方法,该方法将输入的 XLSB 名称、要转换的工作表名称和生成的输出文件名作为参数。
// 如需完整的示例和数据文件,请访问 
https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/

// 从 https://dashboard.aspose.cloud/ 获取客户端凭据
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
        
// 创建 CellsApi 实例并传递 ClientID 和 ClientSecret
CellsApi instance = new CellsApi(clientID, clientSecret);

// 输入 Excel 文件的名称
string name = "input.xlsb";
// 结果文件的名称
string resultantFile = "Converted.pdf";

// 结果文件的格式
string format = "PDF";

// 需要转换的工作表名称
string sheetName = "Sheet2";
        
try
{
    // 从本地驱动器加载 XLSB 文件
    using (var file = System.IO.File.OpenRead(@"C:\Users\Downloads\" + name))
    {
        // 将输入文件上传至云存储
        instance.UploadFile(name, file);
         
        // 初始化转换操作
        var response = instance.CellsWorksheetsGetWorksheet(name, sheetName, format); 
        
        if (response != null && response.Equals("OK"))
        {
            // 在控制台中显示确认消息
            Console.WriteLine("Worksheet successfully converted to PDF !");
            Console.ReadKey();
        }
        
        // 调用自定义方法将 Stream 实例保存到文件
        saveToDisk(response, @"C:\Users\Downloads\" + resultantFile)
    }
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// 保存流实例文件的方法
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}
Excel 到 PDF 预览

图 1:Excel 到 PDF 转换的预览

上述示例中使用的示例文件可以从 input.xlsbcompleteWorkbook.pdfWorksheet2.pdf 下载。

使用 cURL 命令将 Excel 保存为 PDF

cURL 命令也是访问 REST API 的最简单方法之一,因此我们将采用两种方法将 XLSB 文件转换为 PDF,即将整个 XLSB 文件转换为 PDF 格式或将特定工作表转换为 PDF 格式。因此,首先我们需要生成通过 Aspose.Cloud 仪表板 指定的基于 JWT 访问令牌的客户端凭据。有关更多详细信息,请访问 如何使用客户端 ID 和客户端密钥获取 JWT 令牌

完整的 Excel 到 PDF 的转换

请使用以下命令将云存储中已有的完整 XLSB 文件呈现为 PDF 格式,并将输出保存到云存储。

curl -X GET "https://api.aspose.cloud/v3.0/cells/TestCase.xlsb?format=PDF&isAutoFit=true&onlySaveTable=false&outPath=Resultant.pdf" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

如果您需要将输出保存在本地驱动器中,请跳过 outPath 参数值并使用 cURL 命令中的 -o 参数。

curl -X GET "https://api.aspose.cloud/v3.0/cells/TestCase.xlsb?format=PDF&isAutoFit=true&onlySaveTable=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o localSave.pdf

将请求中的 XLSB 转换为 PDF

如果您需要转换要从本地驱动器上传的 XLSB 文件并执行转换。为此,我们需要使用 PutConvertWorkBook API。在这种情况下,XLSB 将不会上传到云存储,但如果针对 outPath 参数提供了值,则生成的文件将保存在云存储中。

curl -X PUT "https://api.aspose.cloud/v3.0/cells/convert?format=PDF&outPath=putConvert.pdf" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d @TestCase.xlsb

如果我们需要从本地驱动器加载 XLSB 并执行转换为 PDF,同时还希望将输出保存在本地驱动器上,则跳过 outPath 参数的值并在 cURL 命令中使用 -o 参数。

curl -X PUT "https://api.aspose.cloud/v3.0/cells/convert?format=PDF" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d @TestCase.xlsb \
-o conveted.pdf

将选定的 Excel 工作表保存为 PDF

如果我们只需要将选定的工作表转换为 PDF 格式,请尝试使用 GetWorkSheetWithFormat API。执行以下命令时,Worksheet2 将仅转换为 PDF。

curl -X GET "https://api.aspose.cloud/v3.0/cells/input.xlsb/worksheets/Sheet2?format=PDF&verticalResolution=0&horizontalResolution=0" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o worksheet2.pdf

结论

在本文中,我们探讨了将 XLSB 文件转换为 PDF 格式的步骤。请注意,我们的 SDK 是开源的,并且是在 MIT 许可下开发的。完整的源代码可在 GitHub 上找到。在使用 API 时,如果您遇到任何问题,或者您有任何其他疑问,请随时通过 免费客户支持论坛 与我们联系。

相关文章

我们建议您访问以下链接以了解更多信息: