使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决

Posted fmgyes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决相关的知识,希望对你有一定的参考价值。

系统原来引用的ICSharpCode.SharpZipLib是0.84版本的,

添加了2.3版本的NPOI引用后,报版本冲突错误,因为NPOI用的ICSharpCode.SharpZipLib是0.86版本的。

百度了下,貌似没有好的解决办法。

还是得自己解决....

 

解决过程:

1、github找到NPOI源码并下载:https://github.com/tonyqus/npoi

2、打开用vs2010打开OOXML.sln

3、把ICSharpCode.SharpZipLib替换成0.84版本的

3、修改以下两个地方:

1)、

namespace NPOI.OpenXml4Net.OPC
{
    public enum CompressionOption : int
    {
        Fast = 1,//Deflater.BEST_SPEED,
        Maximum =9,// Deflater.BEST_COMPRESSION,
        Normal = -1,//Deflater.DEFAULT_COMPRESSION,
        NotCompressed =0// Deflater.NO_COMPRESSION
    }
}

2)、

把NPOI.OpenXml4Net.OPC.ZipPackage

报错的代码行zos.UseZip64 = UseZip64.Off;注释

4)、重新生成dll,测试通过。

以上是关于使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决的主要内容,如果未能解决你的问题,请参考以下文章

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

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

使用NPOI导入导出标准Excel

NPOI使用ShiftRows向excel插入行,并复制原有样式

C# NPOI 导入与导出Excel文档 兼容xlsx, xls(xf13中已经引用了xlsx的npoi)

c# excel 用npoi怎么获取cell的坐标