Java解析Excel之POI(一)
2019-01-21 02:41:35来源:博客园 阅读 ()
引入依赖:
<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
原文链接:https://www.cnblogs.com/cn9087/p/10296266.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash