使用ClosedXML.Report通过Excel模板自动生成报表

职场菊菊子 2024-06-30 19:37:06
前言

ClosedXML.Report是一款用于.NET应用程序中的报告生成和数据分析工具,通过利用Microsoft Excel的功能实现。它是一个.NET库,用于在无需在运行代码的机器上安装Excel的情况下生成Microsoft Excel报告。借助ClosedXML.Report,您可以轻松地将来自.NET类的任何数据导出到使用XLSX模板的Excel中。

安装ClosedXML.Report

在项目中使用ClosedXML.Report,可以直接从NuGet安装。只需在包管理器控制台中运行以下命令:

1Install-Package ClosedXML.Report

通过这种方式,你能够方便快捷地将ClosedXML.Report集成到你的.NET项目中,从而利用其强大的Excel报告生成功能。

特性清单- 复制单元格格式化- 传播条件格式化- 垂直和水平表格及子范围- 实现Excel公式的功能- 使用具有C#和Linq语法的动态计算公式- 对表格数据的操作:排序、分组、总计函数- 数据透视表- 子范围处理使用步骤

要创建一份报告,首先需要创建一个报告模板。可以对工作簿中的任何单元格应用任何格式化,插入图片,并修改工作簿本身的任何参数。在这个例子中,我们已经关闭了零值的显示并隐藏了网格线。ClosedXML.Report将会保留对模板的所有更改。

1,创建模板

下面是一个模板示例,变量写在{{}}内,ClosedXML.Report在渲染模版的时候最终替换掉这些变量。

2,模板渲染

通过下面的代码渲染模板。

protected void Report() { const string outputFile = @".\Output\report.xlsx"; var template = new XLTemplate(@".\Templates\report.xlsx"); using (var db = new DbDemos()) { var cust = db.customers.LoadWith(c => c.Orders).First(); template.AddVariable(cust); template.Generate(); } template.SaveAs(outputFile); //Show report Process.Start(new ProcessStartInfo(outputFile) { UseShellExecute = true }); }

3,查看报表

运行代码后,最后报表效果如下:

0 阅读:1

职场菊菊子

简介:感谢大家的关注