通过jxl读取Excel报错问题

来源:互联网 发布:知乎无法登陆 编辑:程序博客网 时间:2024/06/14 21:43

需要用到的jar包jxl.jar

问题一:报读取不到文件错误


原因是可能你读取的Excel文件后缀名无效:比如(test.xlsx)2016版的Excel工具默认后缀都是.xlsx了,通过jxl.jar只能读取后缀名为xls的Excel文件

问题二:  报Unable to recognize OLE stream 错误和数组越界



    原因是excel不是jxl认定的标准的OLE file,可以通过另存为把Excel文件以其他形式保存下来,


这是我通过2016Excel工具另存为这个工作薄就完美解决了

随便附上读取文件部分代码:

public class ReadExcel {public static void main(String[] args) throws Exception {File file = new File("C:\\Users\\wangg\\Desktop\\test.xls");InputStream in = new FileInputStream(file);Workbook workbook = Workbook.getWorkbook(in);// 获取第一张Sheet表Sheet sheet = workbook.getSheet(0);System.out.println(sheet.getRows());List<Map<String,Object>> list=new ArrayList<>();for(int i=2;i<sheet.getRows();i++){Cell [] cells=sheet.getRow(i);Map<String,Object> map=new HashMap<>();map.put("name", cells[0].getContents());map.put("tjdw", cells[1].getContents());map.put("comment", cells[2].getContents());list.add(map);}String pwd="000000";for(Map<String,Object> map2:list){String name="tjdw_"+map2.get("name").toString();String user_id = UUID.randomUUID().toString();String sql="insert into test(user_id,name,password)";sql+="values('"+user_id+"','"+name+"','"+pwd+");";System.out.println(sql);}}}


0 0
原创粉丝点击