使用 C# 代码而不是电子表格范围从数据源创建 Excel 条形图 Aspose.Cells
Create Excel bar chart from a data source in C# code instead of a spreadsheet range using Aspose.Cells
我正在尝试使用 Aspose.Cells 在电子表格上生成条形图。数据源是十进制数字的 IEnumerable,从数据库中检索。阅读 Aspose.Cells 文档,我看到在代码中创建条形图的唯一方法是从电子表格的范围中获取条形图的数据。我想直接从 IEnumerable 生成图表,而不必实际将数据包含在电子表格中。有什么办法可以做到这一点,使用 Aspose.Cells 或标准 .NET 库?如果可以在代码中生成一个临时工作簿,将数据粘贴到上面并将其用作数据源(之后立即丢弃),我可能也可以做到这一点。谢谢!
请看下面的代码。它使用 Aspose.Cells API 创建 条形图 。请阅读代码中的注释以获得更多帮助。
下面的屏幕截图显示了包含代码生成的条形图的输出 Excel 文件,供您参考。
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 担任开发人员布道师
我正在尝试使用 Aspose.Cells 在电子表格上生成条形图。数据源是十进制数字的 IEnumerable,从数据库中检索。阅读 Aspose.Cells 文档,我看到在代码中创建条形图的唯一方法是从电子表格的范围中获取条形图的数据。我想直接从 IEnumerable 生成图表,而不必实际将数据包含在电子表格中。有什么办法可以做到这一点,使用 Aspose.Cells 或标准 .NET 库?如果可以在代码中生成一个临时工作簿,将数据粘贴到上面并将其用作数据源(之后立即丢弃),我可能也可以做到这一点。谢谢!
请看下面的代码。它使用 Aspose.Cells API 创建 条形图 。请阅读代码中的注释以获得更多帮助。
下面的屏幕截图显示了包含代码生成的条形图的输出 Excel 文件,供您参考。
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 担任开发人员布道师