首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

.NET Core使用NPOI导出复杂Word详解

最近使用NPOI做了个导出Word文档的功能,关于使用.NET Core 导出Word文档的方式有很多。最终我为什么选择了NPOI来实现了这个功能,首先是NPOI是一个开源,免费且容易上手的第三方框架(并且现在已支持.NET Core,GitHub源码地址:https://github.com/tonyqus/npoi)。因为之前使用NPOI导出Execl比较多,这次第一次使用NPOI 来导出Word文档还真没有什么头绪。首先看了下GItHub中的源码有一个简单Word导出的示例,然后在看了网上有很多关于NPOI导出Word文档的案例,发现一个特点网上的好像都差不多,对于我而言网上的这些案例完全能够实现我的这个功能,但是感觉看了网上这些案例对NPOI实例化段落,表格和设置相关样式不太清楚(可能是因为自己笨),并且假如使用网上的方法来实现我的功能的话代码量会比较大,而且感觉代码非常的冗余(我是一个追求代码简洁的人,怎么能够容忍这样的事情发生呢!),因此通过查阅了一些资料和自己的理解,把关于使用NPOI导出Word时所要涉及的一些段落,表格样式做了相关注释,和把段落和表格的创建实例,设置文字、字体、对齐方式都封装了起了(为了少写代码),文章末尾会附上一个完整的案例下载地址。

03

.NET Core使用NPOI导出复杂,美观的Excel详解

这段时间一直专注于数据报表的开发,当然涉及到相关报表的开发数据导出肯定是一个不可避免的问题啦。客户要求要导出优雅,美观的Excel文档格式的来展示数据,当时的第一想法就是使用NPOI开源库来做数据导出Excel文档(当时想想真香,网上随便搜一搜教程一大堆),但是当自己真正的实践起来才知道原来想要给不同的单元格设置相关的字体样式、边框样式以及单元格样式一个简单的样式需要写这么多行代码来实现。作为一个喜欢编写简洁代码的我而言肯定是受不了的,于是乎提起袖子说干就干,我自己根据网上的一些资料自己封装了一个通用的NPOI导出Excel帮助类,主要包括行列创建,行内单元格常用样式封装(如:字体样式,字体颜色,字体大小,单元格背景颜色,单元格边框,单元格内容对齐方式等常用属性),希望在以后的开发中能够使用到,并且也希望能够帮助到更多有需要的同学。

01

KindEditor富文本编辑器 items配置项 对照表「建议收藏」

source : ‘HTML代码’, undo : ‘后退(Ctrl+Z)’, redo : ‘前进(Ctrl+Y)’, cut : ‘剪切(Ctrl+X)’, copy : ‘复制(Ctrl+C)’, paste : ‘粘贴(Ctrl+V)’, plainpaste : ‘粘贴为无格式文本’, wordpaste : ‘从Word粘贴’, selectall : ‘全选’, justifyleft : ‘左对齐’, justifycenter : ‘居中’, justifyright : ‘右对齐’, justifyfull : ‘两端对齐’, insertorderedlist : ‘编号’, insertunorderedlist : ‘项目符号’, indent : ‘增加缩进’, outdent : ‘减少缩进’, subscript : ‘下标’, superscript : ‘上标’, title : ‘标题’, fontname : ‘字体’, fontsize : ‘文字大小’, textcolor : ‘文字颜色’, bgcolor : ‘文字背景’, bold : ‘粗体(Ctrl+B)’, italic : ‘斜体(Ctrl+I)’, underline : ‘下划线(Ctrl+U)’, strikethrough : ‘删除线’, removeformat : ‘删除格式’, image : ‘图片’, flash : ‘插入Flash’, media : ‘插入多媒体’, table : ‘插入表格’, hr : ‘插入横线’, emoticons : ‘插入表情’, link : ‘超级链接’, unlink : ‘取消超级链接’, fullscreen : ‘全屏显示’, about : ‘关于’, print : ‘打印’, fileManager : ‘浏览服务器’, advtable : ‘表格’, yes : ‘确定’, no : ‘取消’, close : ‘关闭’, editImage : ‘图片属性’, deleteImage : ‘删除图片’, editLink : ‘超级链接属性’, deleteLink : ‘取消超级链接’, tableprop : ‘表格属性’, tableinsert : ‘插入表格’, tabledelete : ‘删除表格’, tablecolinsertleft : ‘左侧插入列’, tablecolinsertright : ‘右侧插入列’, tablerowinsertabove : ‘上方插入行’, tablerowinsertbelow : ‘下方插入行’, tablecoldelete : ‘删除列’, tablerowdelete : ‘删除行’, noColor : ‘无颜色’, invalidImg : “请输入有效的URL地址。\n只允许jpg,gif,bmp,png格式。”, invalidMedia : “请输入有效的URL地址。\n只允许swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。”, invalidWidth : “宽度必须为数字。”, invalidHeight : “高度必须为数字。”, invalidBorder : “边框必须为数字。”, invalidUrl : “请输入有效的URL地址。”, invalidRows : ‘行数为必选项,只允许输入大于0的数字。’, invalidCols : ‘列数为必选项,只允许输入大于0的数字。’, invalidPadding : ‘边距必须为数字。’, invalidSpacing : ‘间距必须为数字。’, invalidBorder : ‘边框必须为数字。’, pleaseInput : “请输入内容。”, invalidJson : ‘服务器发生故障。’, cutError : ‘您的浏览器安全设置不允许使用剪切操作,请使用快捷键(Ctrl+X)来完成。’, copyError : ‘您的浏览器安全设置不允许使用复制操作,请使用快捷键(Ctrl+C)来完成。’,

04
领券