首页 .Net .NET Core(C#)使用ExcelReport(NPOI)生成Excel报表(多行重复生成)

.NET Core(C#)使用ExcelReport(NPOI)生成Excel报表(多行重复生成)

1、安装引用ExcelReport(NPOI)

1)使用Nuget界面管理器

搜索"ExcelReport"“ExcelReport.Driver.NPOI”,在列表中分别找到它,点击"安装"

相关文档VS(Visual Studio)中Nuget的使用

2)使用Package Manager命令安装

PM> Install-Package ExcelReport -Version 3.1.6
PM> Install-Package ExcelReport.Driver.NPOI -Version 2.0.3

3)使用.NET CLI命令安装

> dotnet add package ExcelReport --version 3.1.6
> dotnet add package ExcelReport.Driver.NPOI --version 2.0.3

2、ExcelReport(NPOI)多行重复渲染

使用ExcelReport(NPOI)通过excel模板,多行重复渲染生成Excel文件中的数据表格

using ExcelReport;
using ExcelReport.Driver.NPOI;
using ExcelReport.Renderers;
using System;
namespace _3.多行重复渲染示例
{
    internal >Program
    {
        private static void Main(string[] args)
        {
            // 项目启动时,添加
            Configurator.Put(".xls", new WorkbookLoader());
            try
            {
                ExportHelper.ExportToLocal(@"Template\Template.xls", "out.xls",
                    new SheetRenderer("多行重复渲染示例",
                        new RepeaterRenderer<StudentInfo>("rptStudentInfo", StudentLogic.GetList(),
                            new ParameterRenderer<StudentInfo>("Name", t => t.Name),
                            new ParameterRenderer<StudentInfo>("Gender", t => t.Gender ? "男" : "女"),
                            new ParameterRenderer<StudentInfo>("Class", t => t.Class),
                            new ParameterRenderer<StudentInfo>("RecordNo", t => t.RecordNo),
                            new ParameterRenderer<StudentInfo>("Phone", t => t.Phone),
                            new ParameterRenderer<StudentInfo>("Email", t => t.Email)
                            )
                        )
                    );
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            Console.WriteLine("finished!");
        }
    }
}

示例代码多行重复渲染示例

源码地址https://github.com/hanzhaoxin/ExcelReport


特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。