导出excel图表

使用 C# 将 Excel 图表导出为图像(JPG、PNG)

在数据分析领域,使用图表和图形可视化数据是以易于理解的方式呈现复杂信息的重要组成部分。 Excel 是许多数据分析师用来创建图表和图形的流行工具,但有时需要将这些图表导出为图像,以便在报告、演示文稿或其他文档中使用。将图表导出为图像还具有保持原始图表的格式和视觉吸引力的好处,即使将其插入到用不同程序创建的文档中也是如此。在本文中,我们将探索如何使用 C# 编程语言将 Excel 图表导出为图像,为您提供清晰简洁的数据可视化的好处。

Excel 处理 API

Aspose.Cells Cloud 是一个强大的基于云的平台,它提供了广泛的处理 Excel 文件的功能。无论您需要操作数据、执行计算还是生成报告,Aspose.Cells Cloud 都能满足您的需求。一个特别有用的功能是能够将 Excel 图表导出为图像。因此,为了在 .NET 中将 Excel 图表导出为图像,我们将使用 Aspose.Cells Cloud SDK for .NET。这种基于云的解决方案提供了一个 RESTful API,允许您将 Excel 图表转换为 JPG、[PNG](https://docs.fileformat.com /image/png/), BMP 等。

在 NuGet 包管理器中搜索 Aspose.Cells-Cloud 并单击“添加包”按钮。此外,我们还需要使用有效的电子邮件地址在 Dashboard 上创建一个帐户。

使用 C# 将 Excel 图表导出为图像

请使用以下代码片段使用 C# .NET 将 Excel 图表导出为图像。在此示例中,我们将把 Excel 图形保存为 JPG。

// 如需完整示例和数据文件,请访问 
https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/

// 从 https://dashboard.aspose.cloud/ 获取客户端凭证
string clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
string clientID = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
        
// 在传递 ClientID 和 ClientSecret 时创建 CellsApi 实例
CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

// 从本地驱动器输入 Excel 工作簿
string input_Excel = "source.xlsx";
// 包含图表的工作表名称
string sheetName = "Sheet1";
// 要导出为图像的图表索引
int chartNumber = 0;
// 生成的图像格式为 JPEG
string imageFormat = "JPEG";

try
{   
    // 读取Excel工作簿并上传到云存储
    cellsInstance.UploadFile(input_Excel, File.OpenRead(input_Excel));
                    
    // 调用API将Excel图表导出为Image
    var response = cellsInstance.CellsChartsGetWorksheetChart(input_Excel, sheetName, chartNumber, imageFormat, null);

    // 转换成功打印成功信息
    if (response != null && response.Equals("OK"))
    {
        Console.WriteLine("Watermarks removed successfully from Excel !");
        Console.ReadKey();
    }
    
    // 将生成的图像保存到本地驱动器
    using (var fileStream = new FileStream("resultant.jpg", System.IO.FileMode.OpenOrCreate, FileAccess.Write))
    {
        response.Seek(0, SeekOrigin.Begin);
        response.CopyTo(fileStream);
    }
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

以下是上述代码片段的详细信息:

CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

创建 CellsApi 类的对象,同时将客户端凭据作为参数传递。

cellsInstance.UploadFile(input_Excel, File.OpenRead(input_Excel));

读取 Excel 文件并上传到云存储。

var response = cellsInstance.CellsChartsGetWorksheetChart(input_Excel, sheetName, chartNumber, imageFormat, null);

调用 API 将 Excel 图表导出为图像。我们已经通过了“JPEG”作为结果图像格式。

API 支持以下图像格式 PNG/TIFF/JPEG/GIF/EMF/BMP。

using (var fileStream = new FileStream("resultant.jpg", System.IO.FileMode.OpenOrCreate, FileAccess.Write))
{
    response.Seek(0, SeekOrigin.Begin);
    response.CopyTo(fileStream);
}

将 JPG 图像保存到本地驱动器。

上例中使用的输入Excel可以从source.xlsx下载。

使用 cURL 命令将 Excel 图表另存为图像

也可以使用 Aspose.Cells Cloud 和 cURL 命令将 Excel 图表导出为图像。使用此选项,您可以快速将图表到图像的转换功能集成到您的应用程序中,而无需复杂的编码。通过简单地使用 cURL 命令向 Aspose.Cells Cloud API 发送请求,您可以将 Excel 图表转换为各种图像格式。

首先,我们需要在我们的系统上安装 cURL,然后根据您的客户端凭据生成 accessToken:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

其次,使用以下命令将输入的Excel上传到云存储:

curl -v "https://api.aspose.cloud/v3.0/cells/storage/file/{filePath}" \
-X PUT \
-F file=@{localFilePath} \
-H "Content-Type: multipart/form-data" \
-H "Authorization: Bearer {accessToken}"

{filePath} 替换为您要在云存储中存储文件的路径,将 {localFilePath} 替换为本地系统上 Excel 的路径,并将 {accessToken} 替换为您的 Aspose Cloud 访问令牌(上面生成)。

现在,我们需要执行以下命令将 Excel 图形压缩为图像:

curl -v "https://api.aspose.cloud/v3.0/cells/{excelFile}/worksheets/Sheet1/charts/0?format={format}" \
-X GET \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer {accessToken}" \
-o  "Resultant.jpg"

{excelFile} 替换为云存储中可用的 Excel 工作簿的名称。 将 {format} 替换为所需的图像格式,即 PNG/TIFF/JPEG/GIF/EMF/BMP。 现在将 {accessToken} 替换为上面生成的访问令牌。 -o 参数用于将输出下载到本地驱动器。

结束语

总之,当您需要以可视格式共享或发布数据时,将 Excel 图表导出为图像可能是一项非常有用的功能。 Aspose.Cells Cloud 为这项任务提供了全面的解决方案,提供了广泛的工具和 API,可用于轻松地将 Excel 图表导出为图像。该平台与 cURL 命令的集成使该过程自动化成为可能,使其更加高效和省时。无论您是从事小型项目还是大型数据分析,Aspose.Cells Cloud 都可以帮助您快速轻松地实现目标。

有用的链接

推荐文章

请访问以下链接以了解更多信息: