通过jxl读取Excel报错问题

    xiaoxiao2021-04-12  35

    需要用到的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); } } }

    转载请注明原文地址: https://ju.6miu.com/read-667179.html

    最新回复(0)