Как мы можем создавать диаграммы в excel с помощью Closedxml

Как создавать диаграммы в Excel, экспортируя данные из базы данных в таблицу Excel..!

Я экспортирую данные в Excel из базы данных. Мне нужно создать диаграмму на листе Excel на основе данных из базы данных. Ниже код создает простой лист Excel. Мне нужно внести изменения в тот же код для создания диаграмм. Пожалуйста, направляйте

    public ActionResult ExportToExcel()
    {

            var workbook = new ClosedXML.Excel.XLWorkbook();
            var worksheet = workbook.Worksheets.Add("SheetOne");
            DocumentFormat.OpenXml.Drawing.PictureLocks piclocks = new DocumentFormat.OpenXml.Drawing.PictureLocks();
            worksheet.Cell("A1").Value = "Test data!";
            Response.ClearContent();
            Response.Buffer = true;
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition", "attachment;filename=\"SheetOne.xlsx\"");
            System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
           workbook.SaveAs(memoryStream);
            memoryStream.WriteTo(Response.OutputStream);
            memoryStream.Close();
            Response.End();
            return File(memoryStream, "application/ms-excel", "PPs_Workflow.xlsx");

    } *

person Junaid    schedule 05.07.2016    source источник
comment
ClosedXML не поддерживает диаграммы.   -  person Raidri    schedule 06.07.2016
comment
github.com/ClosedXML/ClosedXML/issues/50   -  person Mauricio Scheffer    schedule 21.07.2020


Ответы (2)


К сожалению, насколько мне известно, ClosedXML не поддерживает добавление диаграмм.

Поэтому, чтобы выполнить то, что вам нужно, вам нужно создать файл Excel (для использования в качестве шаблона) и добавить нужные диаграммы вручную. После этого вы можете использовать ClosedXML для открытия и редактирования существующего файла (в отличие от создания нового файла, как вы делаете сейчас). Когда данные обновятся, диаграмма автоматически обновится вместе с ними.

person dhughes    schedule 06.04.2017

Вы можете использовать OfficeOpenXml. Здесь вы можете получить широкий спектр диаграмм с некоторыми гибкими параметрами.

*ExcelChart chart = chartSheet.Drawings.AddChart("MyChart",
OfficeOpenXml.Drawing.Chart.eChartType.ColumnClustered);
chart.Title.Text = "Category Chart";
chart.SetPosition(1, 0, 3, 0);
chart.SetSize(800, 300);
var ser1 = (ExcelChartSerie)(chart.Series.Add(workSheet.Cells["B2:B6"],
workSheet.Cells["A2:A6"]));*
person Praveen Kumar Rai    schedule 29.03.2018