`

我在使用 NPOI 时遇到的问题 - CellStyle (引用同一个实例)

阅读更多

NPOI 版本信息:

Binary: 2.1.3.1

Source Code: https://github.com/tonyqus/npoi (2015-06-15)

 

本期问题:CellStyle (引用同一个实例)

介绍 NPOI 中设置单元格样式时,网上大部分示例都是创建一个新的 ICellStyle,并将其赋给 Cell 的 CellStyle 属性。

 

一般操作量较少时都没什么问题。但是当重复次数很多时,会导致无法再创建新的 ICellStyle。(貌似一个 Workbook 允许的 CellStyle 数量最大值在4000左右)。

 

一般,(Office 文件本身结构设计)一个 Workbook 中会有一些 Cell 具有相同的 CellStyle。这些 Cell 会引用同一个 CellStyle 实例(准确的说是同一条格式记录数据),而不是每个 Cell 各自 hold 住一个。很多属性都是通过这种方式设置的,如颜色,字体等。应该尽量重用这些已有的实例

 

某些情况会比较麻烦:

a) 如果获取某个 Cell 的 CellStyle 属性,并对该 ICellStyle 实例做修改,会导致相应的记录格式的那条数据被修改,导致所有引用该数据的单元格样式都随之更改。

 

b) 如果创建新的 CellStyle 并赋给 Cell,会替换原来的样式数据。如果只想修改部分样式,并保留所有其它样式,就不得不复制所有这些需要保留的子项。

 

如何才能方便地设置单元格样式,并尽量减少相同样式的冗余是比较麻烦的。一般较好的做法是:把样式设置等(静态部分)在 Office 工具中完成(设置模板),程序(动态部分)载入模板文件,只做一些值的填充工作。

分享到:
评论

相关推荐

    .NET Core使用NPOI导出复杂Word-NPOI-Export-Word-master.zip

    然后在看了网上有很多关于NPOI导出Word文档的案例,发现一个特点网上的好像都差不多,对于我而言网上的这些案例完全能够实现我的这个功能,但是感觉看了网上这些案例对NPOI实例化段落,表格和设置相关样式不太清楚...

    Npoi生成Excel 97-2003/ (xls)文件

    POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。  使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office...

    NPOI 2.5.1.0_new.zip

    NPOI 2.5.1.0版本,为目前最新版本 亲测可用! NPOI 是 POI 项目的 .NET 版本。POI是一个开源的C#,JAVA读写Excel、WORD等...使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。

    NPOI.rar_-baijiahao_NPOI word_npoi _npoi帮助文档_npoi教程

    NPOI帮助文档(1.2.3版),是一个好用的Word操作控件的使用教程。

    NPOI-2.4-稳定版.rar

    NPOI-2.4-稳定版

    npoi-master-excel操作例程

    What's NPOI This project is the .NET version of POI Java project at http://poi.apache.org/. POI is an open source project which can help you read/write xls, doc, ppt files. It has a wide application. ...

    C#使用NPOI导入Excel的方法详解

    NPOI是由国人开发的一个进行excel操作的第三方库。百度百科介绍如下:NPOI 本文主要介绍如何使用NPOI将Excel数据读取。 首先引入程序集: using System.IO; using System.Reflection; using NPOI.HSSF.UserModel; ...

    NPOI导入导出实例

    这是关于npoi的一个小实例 已代码为主 所需dll文件已单独整理到DLL的文件夹里

    c#/vs使用npoi对excel进行简单的操作

    npoi是poi的.net版本,是一个开源的库,可以我们对execl进行一个简单的使用,在这个文件中,我已经实现了对于npoi简单的使用的一些方法的封装,由于我也是近期才有这个需求,可能代码比较稚嫩,但是对于创建excel,...

    NPOI-Export Word.rar

    这是一个.NET Core 使用第三方开源框架NPOI做的一个复杂Word导出的功能,网上虽然可以搜索到相关的案例,但是本人感觉说的非常的模棱两可,即时使用了也不太清楚一个大概的原理,更别说如何导出自己满意的word文档...

    c#源码NPOI常用方法使用实例

    npoi的demo实例,欢迎下载使用。包含各种实例及函数的调用。

    MySql--引用 NPOI

    MySql.Data.dll log4net.dll

    NPOI的引用

    NPOI的引用,

    C#使用npoi操作office案例

    C#使用npoi操作office案例C#使用npoi操作office案例C#使用npoi操作office案例C#使用npoi操作office案例C#使用npoi操作office案例C#使用npoi操作office案例

    NPOI使用文档

    一些博客园内关于NPOI使用的文章 1.Npoi 使用总结 回顾 反思 - baidixing - 博客园 2.NPOI 菜鸟实践行之根据指定的模板生成Excel 2003格式的文件 (一) 3.杨新华 【原创】WinForm操作EXCEL(第三方插件NPOI) 4....

    使用NPOI库操作WORD模板文件。

    使用NPOI库操作WORD模板文件。 C# 使用NPOI 生成WORD模板文件,只支持DOCX格式。 可以用于自动生成各种格式文档。支持图片,支持签名。 有问题可以联系我

    NPOI代码使用-C#

    处理Excel表格导出,字符处理,单元格处理,行距处理,让导出来的Excel表格看着舒心,很简单的操作就可以

    C#使用NPOI导出Excel的实例

    C#使用NPOI导出Excel的实例,包括Excel行高、列宽、合并单元格。 以及打印格式设置等。

    NPOI的实例

    VS2010 NPOI的实例 NPOI的实例 NPOI的实例 上传备用

    npoi读写excel实例

    npoi读写excel实例,引用最新版的npoi即可,代码内带注释

Global site tag (gtag.js) - Google Analytics