public static void main(String[] args) throws IOException, InvalidFormatException { Workbook workbook; InputStream is = new FileInputStream(new File("e:\\file\\abc.xls")); //根据输入流创建Workbook对象 Workbook wb = WorkbookFactory.create(is); Sheet sheet = wb.getSheetAt(0); }
这里有个很奇怪的问题就是:我把这个文件打开什么都不改,Ctrl+s一下再去读取就正常了。重现不出这个错误了😓
追答那就是第一个原因,临时表
你是get(0)取得的表而不是通过name,所以第一个表如果是删除后的表就出了这个问题,你保存一下那个表就不存在了
追问那这种情况应该咋样用代码去解决掉,模板肯定动不了,大佬给个思路呗。我实在是无力了
追答直接用name获取啊Sheet sheet = wb.getSheet("xxx"),我忘了xxx后面要不要加$了,如果返回null就getSheet("xxx$")试试
改成wb.getSheet("sheet名")
追问在Workbook wb = WorkbookFactory.create(is);这一行就报错了,还没到下面呢