当前位置: 首页 > 知识库问答 >
问题:

用于读取XLS的NPOI

魏凯捷
2023-03-14
 IWorkbook hssfwb;
                using (FileStream file = new FileStream(@filePath, FileMode.Open, FileAccess.Read))
                {
                     hssfwb = WorkbookFactory.Create(file);
                }

我需要的是一种使用NPOI库打开.xls文件的方法。提前谢了。

共有1个答案

桂杰
2023-03-14

要使用旧的Excel97-2003格式(文件以“.xls”结尾)进行操作,可以使用HSSFWorkbook类。

如果检查文件名的扩展名,则可以在将文件读入iWorkbook模型时处理两种文件类型:

        MemoryStream fileStream = new MemoryStream(fileContent);
        IWorkbook workbook = null;

        if (fileName.ToLower().EndsWith(".xlsx"))
        {
            // new OOXML format
            workbook = new XSSFWorkbook(fileStream);
        }
        else
        {
            // old Excel 97 format
            workbook = new HSSFWorkbook(fileStream);
        }

从现在起,您可以像往常一样处理电子表格的内容:

        // get first sheet
        ISheet sheet = workbook.GetSheetAt(0);

        // get header names as string array
        IRow headerRow = sheet.GetRow(rowNumber);
        List<ICell> headerCells = headerRow.Cells;
        List<string> rowData = new List<string>();
        foreach (ICell cell in headerCells)
        {
            rowData.Add(cell.ToString());
        }
 类似资料:
  • 问题内容: 我正在本地系统上读取一个Excel文件。我正在使用POI jar版本3.7,但收到错误无效的标题签名;读取-2300849302551019537或十六进制0xE011BDBFEFBDBFEF,预期为-2226271756974174256或十六进制0xE11AB1A1E011CFD0。 用Excel打开xls文件可以正常工作。 它发生的代码块:有人有想法吗? 问题答案: 只是一个想法

  • 我需要读取大型excel文件并将它们的数据导入到我的应用程序中。 我在互联网上研究并找到了几个流式API的例子,但它们都不是关于读取现有文件的,它们都是关于生成excel文件的。 实际上是否可以从流中现有的文件中读取数据?

  • > 文件:是一个大约有100行7列的文件。XLS扩展(MS Excel 97-2003)。 问题:无法通过或读取带有R的文件。 用于尝试读取文件的代码: 提示错误: :java.lang.IllegalArgumentException:您的InputStream既不是OLE2流,也不是OOXML流)中的错误。

  • 我在Ubuntu14版本上使用Java1.7版本的STS下运行我的代码,尽管我已经通过添加Apache POI3.9版本和3.2版本的所有JAR测试了两个以下的程序,但我无法解决这个问题。但每次它都给出几乎相同的错误 好心地建议我一些事情,提前谢谢。 我得到的错误是 下面的代码用于从文件中读取数据 上面的代码生成了这个错误

  • 我正在尝试为android创建一个非常基本的电子表格(XLS)查看器。使用Apache poi API时,我在创建新的XSSFWorkbook对象时出现内存不足错误: 如何获取中的特定行/单元格。xls而不将整个文件加载到内存中?

  • 我正在写一个程序,它需要从excel文件中读取和写入数据,而不考虑格式(xls或xlsx)。 我知道ApachePOI,但它似乎有不同的类来处理xls文件(HSSF)和xlsx(XSSF)文件。 任何人都知道我将如何实现我在这里的目标。(也欢迎使用POI以外的API的想法)。