0

I've used following code for making Graphs into pdf. I want to write data into pdf file as well. Currently only graph exported in pdf. I want the excel table exported also in the pdf file.

[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");
        }
    }
4

0 回答 0