将基于 OpenXML 的图表导出到图像中

Exporting OpenXML based Charts into images

我可以从基于 Office OpenXml 的图表定义生成图像吗? 我的想法是使用该程序动态生成图表的 OpenXml 定义并将其导出为图像。

Aspose.Cells可以

  • 生成 OpenXML 或 XLSX 图表,
  • 操纵现有图表并
  • 将它们导出到图像中

将图表导出为图像非常简单。只需调用 Chart.ToImage() 方法即可完成。

以下示例代码创建图表并以 XLSX 格式保存 Excel 文件。

// Instantiating a Workbook object
Workbook workbook = new Workbook();

// Adding a new worksheet to the Excel object
int sheetIndex = workbook.Worksheets.Add();

// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[sheetIndex];

// Adding sample values to cells
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);

// Adding a chart to the worksheet
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Pyramid, 5, 0, 15, 5);

// Accessing the instance of the newly added chart
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex];

// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.NSeries.Add("A1:B3", true);

// Saving the Excel file
workbook.Save(dataDir + "output.xlsx");

以下示例代码将图表导出为图像。

// Converting chart to Bitmap
System.Drawing.Bitmap bitmap = chart.ToImage();
bitmap.Save(dataDir + "chartBMP_out.bmp", System.Drawing.Imaging.ImageFormat.Bmp);

注意:我在 Aspose 担任开发人员布道师