asp.net使用NPOI导出Excel,出现“发现统计表'xxx.xlsx'中的部分内容有问题”

博主接手使用NPOI导出Excel的代码后,遇到打开Excel提示问题。经调试发现,代码中设置的表头长度使用了byte数组长度而非流的长度。将其修改为流的长度后问题解决,同时意识到自身对基本知识的欠缺。

使用NPOI导出的Excel,打开时一直提示下面这个问题

因为代码不是我写的,接手之后才开始这一块的调试,不是很熟悉,导致花了很多时间才解决问题。

在某度上查找原因,有人提示添加如下语句(https://www.cnblogs.com/cjm123/p/9818156.html

其实我看很多文章都说到添加“Content-Length”,我看了我的代码,也确实是添加了的。但是我没注意到,我的代码的length,使用的是byte数组的长度,并非流的长度

很明显它们是有区别的

把bytes.Length.ToString()改为dataStream.Length.ToString(),问题就解决了

解决问题后,想了一下,应该是打开Excel时,程序根据表头的长度读取文件。但是因为表头设置的长度过长,实际内容不足,所以提示“部分内容有问题”,修复时提示的是“某些部分可能已被修复或丢弃”

花了这么长时间才解决问题,除了是因为接手代码,更主要的还是因为自己对基本知识不了解导致的。看来还是要抓紧时间充实自己才是王道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值