Java解析Excel之POI(一)
程序员文章站
2022-08-26 10:02:44
引入依赖: 解析代码: 参照: https://www.cnblogs.com/gdwkong/p/8669220.html ......
引入依赖:
<dependency> <groupid>org.apache.poi</groupid> <artifactid>poi</artifactid> <version>4.0.1</version> </dependency>
解析代码:
public static void main(string[] args) { // 【读取】------------------------------------------------------------ // 从 template.xls 文件中读取数据,并保存到 arraylist<area> 中后打印输出。 arraylist<area> list = new arraylist<area>(); try { // 1、获取文件输入流 inputstream inputstream = new fileinputstream("/users/hrvy/temp/template.xls"); // 2、获取excel工作簿对象 hssfworkbook workbook = new hssfworkbook(inputstream); // 3、得到excel工作表对象 hssfsheet sheetat = workbook.getsheetat(0); // 4、循环读取表格数据 for (row row : sheetat) { // 首行(即表头)不读取 if (row.getrownum() == 0) { continue; } // 读取当前行中单元格数据,索引从0开始 string country = row.getcell(0).getstringcellvalue(); string province = row.getcell(1).getstringcellvalue(); string city = row.getcell(2).getstringcellvalue(); area area = new area(); area.setcountry(country); area.setprovince(province); area.setcity(city); list.add(area); } system.out.println(list.tostring()); // 5、关闭流 workbook.close(); } catch (ioexception e) { e.printstacktrace(); } // 【写出】------------------------------------------------------------ // 新建一个 template_copy.xls 文件,并将 arraylist<area> 中的数据写入 template_copy.xls 文件 // 1.在内存中创建一个excel文件 hssfworkbook workbook = new hssfworkbook(); // 2.创建工作簿 hssfsheet sheet = workbook.createsheet(); // 3.创建标题行 hssfrow titlerrow = sheet.createrow(0); titlerrow.createcell(0).setcellvalue("国家copy"); titlerrow.createcell(1).setcellvalue("省份copy"); titlerrow.createcell(2).setcellvalue("城市copy"); // 4.遍历数据,创建数据行 for (area area : list) { // 获取最后一行的行号 int lastrownum = sheet.getlastrownum(); // 添加新行 hssfrow datarow = sheet.createrow(lastrownum + 1); datarow.createcell(0).setcellvalue(area.getcountry()); datarow.createcell(1).setcellvalue(area.getprovince()); datarow.createcell(2).setcellvalue(area.getcity()); } // 5.创建文件名 string filename = "template_copy.xls"; // 6.获取输出流对象 outputstream outputstream; try { outputstream = new fileoutputstream("/users/hrvy/temp/" + filename); // 7.写出文件,关闭流 workbook.write(outputstream); workbook.close(); } catch (filenotfoundexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } }
参照:
https://www.cnblogs.com/gdwkong/p/8669220.html