我们如何使用closedxml

时间:2016-07-05 10:58:45

标签: excel asp.net-mvc-3 c#-4.0 c#-3.0 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");

    } *

2 个答案:

答案 0 :(得分:0)

不幸的是,据我所知,ClosedXML不支持添加图表。

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

答案 1 :(得分:0)

您可以使用OfficeOpenXml,在这里您可以使用一些灵活的选项获得各种各样的图表

@NgModules