使用Aspose.Cells从C#代码中的数据源创建Excel条形图,而不是电子表格范围

时间:2018-06-02 21:23:51

标签: c# excel aspose-cells

我正在尝试使用Aspose.Cells在电子表格上生成条形图。数据源是IEnumerable的十进制数,从数据库中检索。阅读Aspose.Cells文档,我看到在代码中创建条形图的唯一方法是从电子表格中的范围中获取条形图的数据。我想直接从IEnumerable生成图表,而不必将数据实际包含在电子表格中。有没有办法做到这一点,使用Aspose.Cells或标准.NET库?如果可以在代码中生成临时工作簿,将数据粘贴到其上并将其用作数据源(之后立即将其丢弃),我可能也可以做到这一点。谢谢!

1 个答案:

答案 0 :(得分:1)

请参阅以下代码。它使用Aspose.Cells API创建条形图。请阅读代码中的注释以获得更多帮助。

以下屏幕截图显示了包含由代码生成的条形图的输出Excel文件,供您参考。

Bar Chart generated by Aspose.Cells

C#中的示例代码

// Create empty workbook.
Workbook wb = new Workbook();

// Access first worksheet.
Worksheet ws = wb.Worksheets[0];

// Add Bar chart in first worksheet.
int idx = ws.Charts.Add(ChartType.Bar, 5, 2, 20, 10);

// Access Bar chart.
Chart ch = ws.Charts[0];

// Add two number series, true means they are vertical.
ch.NSeries.Add("{6,3,1,7}", true);
ch.NSeries.Add("{2,5,7,1}", true);

// Set the category data to show on X-axis.
ch.NSeries.CategoryData = "{Apple,Pear,Orange,Mango}";

// Set the name of first and second series.
ch.NSeries[0].Name = "Cricket";
ch.NSeries[1].Name = "Hockey";

// Save the output in xlsx format.
wb.Save("outputBarChart.xlsx", SaveFormat.Xlsx);

注意: 我在Aspose担任开发人员传播者