本文主要是介绍通过jxl读取Excel报错问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
需要用到的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);}}
}
这篇关于通过jxl读取Excel报错问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!