【问题标题】:How can we create charts in excel using closedxml我们如何使用 closedxml 在 excel 中创建图表
【发布时间】:2016-11-07 04:31:48
【问题描述】:

如何在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");

    } *

【问题讨论】:

标签: excel asp.net-mvc-3 c#-4.0 c#-3.0 closedxml


【解决方案1】:

很遗憾,据我所知,ClosedXML 不支持添加图表。

因此,为了完成您的需求,您需要创建一个 Excel 文件(用作模板)并手动添加您需要的图表。之后,您可以使用 ClosedXML 打开和编辑现有文件(而不是像您当前所做的那样创建新文件)。当数据更新时,图表会随之自动更新。

【讨论】:

    【解决方案2】:

    您可以使用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"]));*
    

    【讨论】:

      【解决方案3】:

      虽然 ClosedXML 可能不支持图表,但 OpenXML 支持。由于 ClosedXML 是 OpenXML 的简化接口,因此我没有理由认为您不能混合使用它们。 (当您从 nuget 拉出 ClosedXML 时,您会自动获得 OpenXML 引用)。就像 OpenXML 中的所有内容一样,它有点丑陋。 (这就是 ClosedXML 如此受欢迎的原因)

      我在https://csharp.hotexamples.com/examples/DocumentFormat.OpenXml.Drawing.Charts/PieChart/-/php-piechart-class-examples.html找到了一些使用 OpenXML 的示例

      【讨论】:

        猜你喜欢
        • 2021-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        相关资源
        最近更新 更多