我对NPoi有意见。我需要读取一个xlsm文件,本地代码工作正常,但在服务器上有错误:错误的本地标头签名:0xE011CFD0有人知道是什么导致了这个错误吗?
kd3sttzy1#
如果打开扩展名为.xls的文件,请使用HSSFWorkbook;如果是.xlsx,请使用XSSFWorkbook。希望它能解决你的问题。
9jyewag02#
我收到这个错误消息时,我试图打开一个Excel文件,该文件已被密码保护,代码不知道:
string sFileExtension = Path.GetExtension(file.FileName).ToLower(); ISheet sheet; string fullPath = Path.Combine(newPath, file.FileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); stream.Position = 0; if (sFileExtension == ".xls") { HSSFWorkbook hssfwb = new(stream); sheet = hssfwb.GetSheetAt(0); } else { XSSFWorkbook hssfwb = new(stream); //This line threw the exeption sheet = hssfwb.GetSheetAt(0); } }
通过删除工作簿的保护解决了问题-没有尝试在代码中解密它。
2条答案
按热度按时间kd3sttzy1#
如果打开扩展名为.xls的文件,请使用HSSFWorkbook;如果是.xlsx,请使用XSSFWorkbook。希望它能解决你的问题。
9jyewag02#
我收到这个错误消息时,我试图打开一个Excel文件,该文件已被密码保护,代码不知道:
通过删除工作簿的保护解决了问题-没有尝试在代码中解密它。