首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NPOI读取Excel

使用NPOI读取Excel
EN

Stack Overflow用户
提问于 2017-05-12 06:45:45
回答 1查看 6.1K关注 0票数 1

我正在尝试使用NPOI读取excelxls和xlsx,我使用了以下代码,但在读取8KB xls文件时,它提供了“无法读取整个头;读取27个字节;预期读取的512字节”

代码语言:javascript
复制
    byte[] byteArray = Encoding.UTF8.GetBytes(filepath);
    MemoryStream stream = new MemoryStream(byteArray);
    MemoryStream stream1 = new MemoryStream(Encoding.UTF8.GetBytes(filepath ?? ""));

    NPOI.HSSF.UserModel.HSSFWorkbook hssfwb = default(HSSFWorkbook);
    hssfwb = new NPOI.HSSF.UserModel.HSSFWorkbook(stream1);
    Sheet sheet = hssfwb.GetSheetAt(0);
    DataTable dtinputExcel = new DataTable();

针对此错误,我已经尝试了网络上所有可用的代码。请指导我什么是无错误的方法读取和超过任何大小的xlsx。

EN

回答 1

Stack Overflow用户

发布于 2017-05-12 22:48:00

问题是,HSSFWorkbook的构造函数期待的是一个包含电子表格文件内容的流,而您传递的是一个包含文件名的MemoryStream。您应该使用FileStream读取文件并将该流传递给HSSFWorkbook构造函数。

试着这样做:

代码语言:javascript
复制
IWorkbook hssfwb;
using (FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read))
{
    hssfwb = new HSSFWorkbook(fs);
}

ISheet sheet = hssfwb.GetSheetAt(0);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43931015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档