流程:(跟jxl相似,只是读取逻辑有点不同)
跟jxl的两处主要区别:
1、读取和写入方式略有不同:
(1) poi 读取:
FileInputStream input = new FileInputStream(new File(xls_read_Address)); //读取的文件路径
XSSFWorkbook wb = new XSSFWorkbook(new BufferedInputStream(input));
poi 写入:先定位 哪一行,再在这个行的循环里面 写入每个 单元格的内容;
(2) jxl 读取:
Workbook book = Workbook.getWorkbook(new File(xls_read_Address),workbookSettings);
jxl
写入:任意定位 行列数,写入更灵活,当然,写入整个表的话,还是跟poi一样要遍历的。
2、数据类型判断方式略有不同:
(1)个人觉得,数据类型处理方面,poi 比不上 jxl 方便实用,poi在处理 数字 类型的值时 很容易出问题(不用文本方式),各位亲可以亲自试试。
(2)jxl 则处理的很好,像一般 操作 都只需要用到 文本方式就行。
----------------------------------------------------------------------------------
1、用 poi 读取Excel表格(传入Excel地址等):
(1)读取Excel ,将 Excel 中的所有 “工作表”,封装进 ArrayList<ArrayList> ls 中;
(2)读取工作表,遍历 ls, 将 每个 工作表 的所有数据,封装进 ArrayList<Sring[]> ls_a 中;
(3)读取每一行,遍历 ls_a,将 每一行 的所有 列 的内容,封装数组 Sring[] s 中;
(4)对 单元格 内容 进行 操作,比如 替换值、设置宽度 等。