千家信息网

怎么用C#实现NPOI的Excel导出

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"怎么用C#实现NPOI的Excel导出",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用C#实现NPOI的Excel导出"吧!技
千家信息网最后更新 2026年11月02日怎么用C#实现NPOI的Excel导出

这篇文章主要讲解了"怎么用C#实现NPOI的Excel导出",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用C#实现NPOI的Excel导出"吧!

技术点:

1.自定义attribute属性

2.通过反射取类及其属性的attribute属性值

3.NPOI包常用属性及方法(我也仅仅知道用到过的,陌生的要么见名知意,要么百度查)

实现功能点:

List类对象的模板导出,实用场景例子见最后代码块(emm...还是比较抽象,代码见)

EXCEL导出类DTO超类

定义继承导出类DTO的特性说明类

Excel帮助类

这部分要讲的点其实挺多的,关键就是EXCEL导出所用到的数据源是强类型的。

可以看出来list其实是EF的Queryable toList()后的类集合,作为数据源存在

里面的DTO DesWeeklyReportExcExp继承ExcelSuper,特性分别加在类及属性上。

public class XXXXController : CoreController{    // 控制器内部        [HttpPost]    public ActionResult export()    {        // 控制器接口        var list = op                    .GetPagedQuery(PageModel)                    .Select(s => new DesWeeklyReportExcExp                    {                        col1 = s.Project.ProjName,                        col2 = s.ColAttROPDate1?.ToString("yyyy.MM.dd"),                        col3 = (s.ColAttROPDate2 == null ? "无" : s.ColAttROPDate2.Value.ToString("yyyy.MM.dd"))                                                       + "/"                                                       + (s.ColAttROPDate3 == null ? "无" : s.ColAttROPDate3.Value.ToString("yyyy.MM.dd")),                        col4 = s.ColAttROPDate4?.ToString("yyyy.MM.dd")                    }).ToList();         string filePath = Server.MapPath("~/download/[这是模板名称].xlsx");         string filename = Path.GetFileNameWithoutExtension(filePath);// 文件名称         string extension = Path.GetExtension(filePath);// 后缀名 带点(.)         string fileDownloadName = filename + extension;         var fs = ExcelHelper.ExportToExcel(list, filePath).ToArray();         return File(fs, "application/ms-excel", fileDownloadName);    }}[ExcelExpClassAttribute(2, 0, 2, 0)]public class DesWeeklyReportExcExp : ExcelSuper{    ///     /// 列1    ///     [ExcelExp(SortIndex = 0, ColName = "列1")]    public string col1 { get; set; }    ///     /// 列2    ///     [ExcelExp(SortIndex = 0, ColName = "列2")]    public string col2 { get; set; }    ///     /// 列3    ///     [ExcelExp(SortIndex = 0, ColName = "列3")]    public string col3 { get; set; }    ///     /// 列4    ///     [ExcelExp(SortIndex = 0, ColName = "列4")]    public string col4 { get; set; }}

感谢各位的阅读,以上就是"怎么用C#实现NPOI的Excel导出"的内容了,经过本文的学习后,相信大家对怎么用C#实现NPOI的Excel导出这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

属性 C# 学习 代码 内容 名称 就是 控制器 数据 数据源 模板 特性 要么 控制 实用 陌生 例子 关键 功能 后缀 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 深圳九邦互联网科技有限公司 互联网科技工作委员会主任 互联网和科技创新 港股互联网科技股 中资互联网科技 互联网金融 科技金融 壹账通互联网科技 深圳互联网科技怎么样 深圳市运趣互联网科技有限公司 受益于互联网科技的高速发展 移动互联网年度科技创新 深圳市罗太互联网科技有限公司 深圳艾果互联网通讯科技 云南省自由互联网科技有限公司 易企秀互联网科技是做什么的 中国新注册互联网科技 米泉互联网科技专业怎么样 互联网科技创业有什么好项目 如何强化互联网金融科技 互联网属科技 美国互联网科技巨头监管 天扬科技互联网广告 新兴科技互联网创新大赛颁奖典礼 内蒙古九一互联网科技 滨湖区互联网智能科技产品有哪些 皮皮虾互联网科技有限公司 昆明中奇联合互联网科技 云鲸互联网络科技有限公司 杭州融税互联网科技有限公司
0