导出数据到word

打野的时候,碰到一个需求,导出简历信息。

两条思路:

第一条,直接画所有的表格,填充数据。

第二条,加载一个空的模板,然后填充数据。

因为导出的有格式的,所以最后选择了使用模板进行替换,然后填充数据。

导出的结果如上所示。

本次使用的是NPOI,正常写模板没有问题,但是填充动态表格还没找到方法,于是使用了一个比较骚的操作,写死5个空行,然后填充完了如果最后没填充的就给删掉。

然后使用了一段时间发现,有的数据没有问题,有的数据导出会报错,生成的word是0KB的。就是很奇怪,然后根据自己的经验忽然想到了,既然数据导致的,那应该是哪个字段是空的导致的,于是debug跟了一下,真的发现有个值是NULL,发现有的数据这个是NULL。问题原因找到了,那就想办法加了个处理,null转换成空串即可。

var cellEnglishName = doc.Tables[0].Rows[2].GetCell(2);
cellEnglishName.SetText(entity.EnglishName);

修改后的是

var cellEnglishName = doc.Tables[0].Rows[2].GetCell(2);
cellEnglishName.SetText(Utils.ObjectToStr(entity.EnglishName));
原文地址:https://www.cnblogs.com/Rexcnblog/p/10452914.html