我正在尝试导入一个excel文件(xlsx),但它引发了以下问题:
无法加载文件或程序集' ICSharpCode.SharpZipLib,Version = 0.86.0.518,Culture = neutral,PublicKeyToken = 1b03e6acf1164f73'或其中一个依赖项。该系统找不到指定的文件。
但对于具有相同代码的xls,它的效果非常好。
using (FileStream file = new FileStream(filename, FileMode.Open,
FileAccess.Read))
{
FileExtension = Path.GetExtension(filename);
if
(FileExtension.ToLower().Equals(StringConstants.FILE_EXTENSION_XLS))
{
HSSFWorkBook = new HSSFWorkbook(file);
intCountSheets = HSSFWorkBook.NumberOfSheets;
EaRepos = DiagFunAnaClass.EaRepos;
objPackage = DiagFunAnaClass.objPackage;
plantCode = DiagFunAnaClass.plantCode;
buttonValidate.Enabled = true;
}
else if
(FileExtension.ToLower().Equals(StringConstants.FILE_EXTENSION_XLSX))
{
XSSFWorkBook = new XSSFWorkbook(file);
错误出现在上面代码的最后一行。
答案 0 :(得分:1)
我建议您删除NPOI并使用EPPlus。我花了3天时间用NPOI自动创建一些Excel,只是发现要添加一个列我必须手动移动每个单元格并管理NPOI返回空对象的空单元格。
使用EPPlus编写的代码小10倍,简单20倍。
注意:我与EPPlus没有任何关系,只是我自己的经验
答案 1 :(得分:0)
您的代码似乎是正确的,我也尝试过Manprit的代码。它在我的2.2.1版本中正常工作。有时在NPOI功能中,即使按照文档记录所有内容,也无法正常工作。我建议你最后一件事是尝试使用 Stream 类型为XSSF类型化 filestream 类型,如下所示
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v14/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(https://fonts.gstatic.com/s/opensans/v14/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
FileStream派生自Stream类