如何解决使用 ASP .NET Core 中的图形和数据制作 pdf
我使用以下代码将图表制作成 pdf。我也想将数据写入pdf文件。目前仅以 pdf 格式导出图形。我希望 excel 表也导出到 pdf 文件中。
[Route("/chart")]
public IActionResult CreateChart()
{
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Excel2013;
IWorkbook workbook = application.Workbooks.Create(1);
IWorksheet sheet = workbook.Worksheets[0];
sheet.Range["A1"].Text = "Month";
sheet.Range["B1"].Text = "Product A";
sheet.Range["C1"].Text = "Product B";
sheet.Range["A2"].Text = "Jan";
sheet.Range["A3"].Text = "Feb";
sheet.Range["A4"].Text = "Mar";
sheet.Range["A5"].Text = "Apr";
sheet.Range["A6"].Text = "May";
Random r = new Random();
for (int i = 2; i <= 6; i++)
{
for (int j = 2; j <= 3; j++)
{
sheet.Range[i,j].Number = r.Next(0,500);
}
}
IChartShape chart = sheet.Charts.Add();
chart.ChartType = ExcelChartType.Line;
chart.ChartTitle = "Product Sales comparison";
IChartSerie productA = chart.Series.Add("ProductA");
productA.Values = sheet.Range["B2:B6"];
productA.CategoryLabels = sheet.Range["A2:A6"];
IChartSerie productB = chart.Series.Add("ProductB");
productB.Values = sheet.Range["C2:C6"];
productB.CategoryLabels = sheet.Range["A2:A6"];
XlsIORenderer renderer = new XlsIORenderer();
Syncfusion.Pdf.PdfDocument pdfDocument = renderer.ConvertToPDF(sheet);
MemoryStream stream = new MemoryStream();
pdfDocument.Save(stream);
stream.Flush();
stream.Position = 0;
return File(stream,"application/pdf","chart.pdf");
}
}
解决方法
Syncfusion XlsIO 确实支持将 Excel 文档中的表格转换为 PDF。请查看以下链接以了解如何使用 Syncfusion XlsIO 在 Excel 中创建表格。
https://help.syncfusion.com/file-formats/xlsio/working-with-excel-tables
问候, 凯尔蒂。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。