IWorkbook hssfwb;
using (FileStream file = new FileStream(@filePath, FileMode.Open, FileAccess.Read))
{
hssfwb = WorkbookFactory.Create(file);
}
我需要的是一种使用NPOI库打开.xls文件的方法。提前谢了。
要使用旧的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的想法)。