excel - header 签名无效;读取 0x54535543092E4F4E,预期为 0xE11AB1A1E011CFD0 - 您的文件似乎不是有效的 OLE2 文档

标签 excel csv apache-poi

好的,经过大量研究后我发布了这个,所有有类似问题的主题都没有回答我的问题。当我用 poi 读取文件时,我收到了一个 .xls 文件来使用它(我无法更改其版本)我有一个非常奇怪的行为,它无法读取原始文件:“无效的 header 签名;读取 0x54535543092E4F4E,预期为 0xE11AB1A1E011CFD0 - 您的文件似乎不是有效的 OLE2 文档” 但是当我打开它并将其另存为 .xls 文件时,它就可以工作了!!!同一个文件同一个版本,只有一个是原下载的文件,一个是手动保存的!!谁能给我解释一下,我必须使用原始 excel 文件。

File xlsFile = new File(path);
FileInputStream fis = new FileInputStream(path);
 Workbook workbook = new HSSFWorkbook(fis);

最佳答案

该签名看起来像制表符分隔数据的(开始),相反:

NO.<tab>CUST

表示实际的制表符。

如果是制表符分隔的数据,Apache POI将无法直接使用。

关于excel - header 签名无效;读取 0x54535543092E4F4E,预期为 0xE11AB1A1E011CFD0 - 您的文件似乎不是有效的 OLE2 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48771689/

相关文章:

Python xlsxwriter - 将工作表添加到现有工作簿

java - Apache POI 工作簿抛出 java.lang.reflect.InvocationTargetException

java - 意外的记录类型(org.apache.poi.hssf.record.HyperlinkRecord)

Java将csv字符串写入Excel

excel - 如何在 protected VBA 创建的工作表上解锁单元格

vba - 在 Excel 中为每个行项目创建一个唯一条目

excel - VBA从文件名每天不断变化的URL下载文件

python - 我可以将 'sep=' 行与标准 CSV 模块一起使用吗

java - 如何写入 CSV 文件的新行

python - 无效索引错误: Reindexing only valid with uniquely valued Index objects