NPOI的一些坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NPOI的一些坑相关的知识,希望对你有一定的参考价值。

参考技术A 1.SXSSFWorkbook创建的sheet,无法自动调节列宽,无法设置链接,每一个row的cell必须创建,不然空缺cell后的数据可能丢失。
可以先创建所有的:
for (int i = 1; i < th.Count;i++ )

try

row.CreateCell(i);

catch




然后:
ICell rcell = null;
try

rcell = row.GetCell(hh);

catch (Exception e)

Console.WriteLine(e.Message);

2.link的数量有限制,最多65530个。
XSSFHyperlink link = new XSSFHyperlink(HyperlinkType.Document);
link.Address = linkAddress;
cell.Hyperlink = link;

3.如果数据量很庞大,并且有一页需要设置链接,那么最好如此:
XSSFWorkbook workbook = new XSSFWorkbook();
SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(workbook, 100);
用XSSFWorkbook 创建有link的页面,用SXSSFWorkbook 来创建大量数据的其它页面。

C#里使用NPOI创建EXCEL文件的简单方法

C#里使用NPOI创建EXCEL文件的简单方法

在前面使用ExcelDataReader库时,它只能读取EXCEL文件,而不能创建和写入EXCEL文件。

对于一些客户要求生成EXCEL文件时,就不能满足这个需求了。

比如使用CSV文件时,如果修改一下数据,再保存数据时,EXCEL就会提示一个格式不对的窗口,并且不能手动关闭。

这是EXCEL软件为了自己的利益,强制干这些事情,不愿意提供一个关闭的选项。

这样让客户保存数据,就非要多点击一次鼠标,导致客户严重不满意,强烈要求我们修改软件的格式。

这时候我们就只能使用EXCEL的文件格式,而不能使用CSV的格式了。

另外一种情况,也是需要使用EXCEL的格式。比如需要把数据某些列显示为红色,或者表格有一些格式要求。或者需要有图表。

因此,如果没有上述的情况下,使用CSV是更加方便,文件体积更加短小,软件之间进行数据交互最方便,这是CSV作为首选的方式。

如果避免不了上述的情况,就需要使用EXCEL的格式了。

使用EXCEL一般来说,也有两种方式,一种是使用EXCLE软件自己带的COM组件的方式,这种方式需要安装OFFICE软件,这样方式就比较麻烦了,

需要每一台使用的电脑都安装OFFICE,这样软件成本就会急剧上升,导致产品竞争力下降。这种方式也会导致一种情况,就是当用户正

以上是关于NPOI的一些坑的主要内容,如果未能解决你的问题,请参考以下文章

NPOI导出Excel

记一次NPOI的使用

C#使用NPOI导出Excel文件

WeihanLi.Npoi 根据模板导出Excel

npoi导入导出excel (泛型)

NPOI导出数值格式设置(我是保留四位小数,不足补0)