最近改一个C#老项目,加了两个导入功能用的是office excel的包。功能都开发完成了,现场部署调试时收到消息,现场只用WPS。
NPOI简单查了一下,网上下载了dll就开始调试,直接被坑:
因为插数据库已经有了,主要就是读取excel数据。
首先,引入dll包,刚开始没注意版本问题,2.0以上的直接提示与.net版本要求不符,最开始在网上下载的1.2.2.0的dll包
找了这个1.2.2.0版本的引进去了
按照网上一些示例写的
HSSFWorkbook调用到时没问题,导入.xls功能直接可以实现,模板不一样的需要稍微改动
但是,.xlsx导入需要XSSFWorkbook,调用直接提示错误!要引用dll,但是1.2.2.0版本貌似没有ooxml.dll,我还没找到。不引用又找不到。卒
然后绕了一圈,被坑了,第一张图的dll包竟然是1.2和2.4两个版本包糅杂在一起的,让刚了解NPOI的我吐了一口老血。
然后下载了NUget,在上面下载了2.0版本的NPOI,果然所有问题都消失了,简单调试以后一切正常。
直接上.XLSX文件的处理方式,跟上面一样的,最后把数据都存到datatable里面,调数据库即可。
本来负责人说考虑升级.net,what哥们儿这把坑挖大了吧。升级的话几个衍生项目哪儿都有可能出现问题,本来就是改bug,现在搞到要整个项目升级?
唉,还有啊,我的CSDN币花了好几十了喂!然而没卵用。
话说,把1.2和2.0版本dll包放一起的那个哥们儿,没屁眼的才能干出来的事儿