C#使用NPOI读取Excel内容问题解决

本文分享了如何区分处理Excel2003(.xls)与Excel2007(.xlsx)版本文件的方法,并解决了在使用Java进行文件读取时可能遇到的问题,包括参数错误和文件损坏导致的异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读取Excel2003版本及Excel2007版本,需要分别进行处理:

FileStream fs = new FileStream(excelPath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
if (excelPath.IndexOf(".xlsx") > 0)
        {
             workbook = new XSSFWorkbook(fs);
        }else if (excelPath.IndexOf(".xls") > 0)
        {
            workbook = new HSSFWorkbook(fs);
        }

现就遇到的两个问题及解决方案进行说明:
问题1:
在这里插入图片描述

原因:workbook = new XSSFWorkbook(fs);丢了参数,写成了workbook = new XSSFWorkbook();出现上面的错误

问题2:
在这里插入图片描述
这个错误可能会有多种原因导致,百度上面也有不同的解决方法,我遇到这个问题是因为:为了测试,将.xls文件保存为.xlsx的过程中,文件破损:重新另存为一份文件,问题得到解决;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值