如何实现POI对Excel文件的读写操作?

2026-05-17 02:211阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计664个文字,预计阅读时间需要3分钟。

如何实现POI对Excel文件的读写操作?

简介:Apache POI是Java编写的免费开源跨平台Java API,提供对Microsoft Office(Excel、Word、PowerPoint、Visio等)格式文档的读写功能。官方主页:http://poi.apache.org

简介

Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel、WORD、PowerPoint、Visio等)格式档案读和写的功能。
官方主页: poi.apache.org/index.html
API文档: poi.apache.org/apidocs/index.html

应用场景:

1:从excel中读取数据,写入到数据库(导入);
2:从数据库查询数据,写入到excel文件(导出)
maven坐标

如何实现POI对Excel文件的读写操作?

<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version> </dependency> 入门案例 一、从Excel文件读取数据 1. 方法一

public void readExcel() throws IOException { //创建工作簿 XSSFWorkbook workbook = new XSSFWorkbook("D:\\hello.xlsx"); //获取工作表,既可以根据工作表的顺序获取,也可以根据工作表的名称获取 XSSFSheet sheet = workbook.getSheetAt(0); //遍历工作表获得行对象 for (Row row : sheet) { //遍历行对象获取单元格对象 for (Cell cell : row) { //获得单元格中的值 String value = cell.getStringCellValue(); //注意:数字类型,需要修改excel单元格的类型,否则报错。 System.out.println(value);// new String(value.getBytes("UTF-8"),"GBK")); } } workbook.close(); } 2. 方法二

public void exportExcel_lastRow() throws IOException { //创建工作簿 XSSFWorkbook workbook = new XSSFWorkbook("D:\\hello.xlsx"); //获取工作表,既可以根据工作表的顺序获取,也可以根据工作表的名称获取 XSSFSheet sheet = workbook.getSheetAt(0); //获取当前工作表最后一行的行号,行号从0开始 int lastRowNum = sheet.getLastRowNum(); for(int i=0;i<=lastRowNum;i++){ //根据行号获取行对象 XSSFRow row = sheet.getRow(i); // 再获取单元格对象 short lastCellNum = row.getLastCellNum(); for(short j=0;j<lastCellNum;j++){ // 获取单元格对象的值 String value = row.getCell(j).getStringCellValue(); System.out.println(value); } } workbook.close(); } 二、向Excel文件写入数据

public void importExcel() throws IOException { //在内存中创建一个Excel文件 XSSFWorkbook workbook = new XSSFWorkbook(); //创建工作表,指定工作表名称 XSSFSheet sheet = workbook.createSheet("学生表"); //创建行,0表示第一行 XSSFRow row = sheet.createRow(0); //创建单元格,0表示第一个单元格 row.createCell(0).setCellValue("姓名"); row.createCell(1).setCellValue("学号"); row.createCell(2).setCellValue("性别"); XSSFRow row1 = sheet.createRow(1); row1.createCell(0).setCellValue("唐"); row1.createCell(1).setCellValue("201511"); row1.createCell(2).setCellValue("女"); XSSFRow row2 = sheet.createRow(2); row2.createCell(0).setCellValue("李"); row2.createCell(1).setCellValue("201522"); row2.createCell(2).setCellValue("女"); //通过输出流将workbook对象下载到磁盘 OutputStream out = new FileOutputStream("D:/student.xlsx"); workbook.write(out); out.flush();//刷新 out.close();//关闭 workbook.close(); }

本文共计664个文字,预计阅读时间需要3分钟。

如何实现POI对Excel文件的读写操作?

简介:Apache POI是Java编写的免费开源跨平台Java API,提供对Microsoft Office(Excel、Word、PowerPoint、Visio等)格式文档的读写功能。官方主页:http://poi.apache.org

简介

Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel、WORD、PowerPoint、Visio等)格式档案读和写的功能。
官方主页: poi.apache.org/index.html
API文档: poi.apache.org/apidocs/index.html

应用场景:

1:从excel中读取数据,写入到数据库(导入);
2:从数据库查询数据,写入到excel文件(导出)
maven坐标

如何实现POI对Excel文件的读写操作?

<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version> </dependency> 入门案例 一、从Excel文件读取数据 1. 方法一

public void readExcel() throws IOException { //创建工作簿 XSSFWorkbook workbook = new XSSFWorkbook("D:\\hello.xlsx"); //获取工作表,既可以根据工作表的顺序获取,也可以根据工作表的名称获取 XSSFSheet sheet = workbook.getSheetAt(0); //遍历工作表获得行对象 for (Row row : sheet) { //遍历行对象获取单元格对象 for (Cell cell : row) { //获得单元格中的值 String value = cell.getStringCellValue(); //注意:数字类型,需要修改excel单元格的类型,否则报错。 System.out.println(value);// new String(value.getBytes("UTF-8"),"GBK")); } } workbook.close(); } 2. 方法二

public void exportExcel_lastRow() throws IOException { //创建工作簿 XSSFWorkbook workbook = new XSSFWorkbook("D:\\hello.xlsx"); //获取工作表,既可以根据工作表的顺序获取,也可以根据工作表的名称获取 XSSFSheet sheet = workbook.getSheetAt(0); //获取当前工作表最后一行的行号,行号从0开始 int lastRowNum = sheet.getLastRowNum(); for(int i=0;i<=lastRowNum;i++){ //根据行号获取行对象 XSSFRow row = sheet.getRow(i); // 再获取单元格对象 short lastCellNum = row.getLastCellNum(); for(short j=0;j<lastCellNum;j++){ // 获取单元格对象的值 String value = row.getCell(j).getStringCellValue(); System.out.println(value); } } workbook.close(); } 二、向Excel文件写入数据

public void importExcel() throws IOException { //在内存中创建一个Excel文件 XSSFWorkbook workbook = new XSSFWorkbook(); //创建工作表,指定工作表名称 XSSFSheet sheet = workbook.createSheet("学生表"); //创建行,0表示第一行 XSSFRow row = sheet.createRow(0); //创建单元格,0表示第一个单元格 row.createCell(0).setCellValue("姓名"); row.createCell(1).setCellValue("学号"); row.createCell(2).setCellValue("性别"); XSSFRow row1 = sheet.createRow(1); row1.createCell(0).setCellValue("唐"); row1.createCell(1).setCellValue("201511"); row1.createCell(2).setCellValue("女"); XSSFRow row2 = sheet.createRow(2); row2.createCell(0).setCellValue("李"); row2.createCell(1).setCellValue("201522"); row2.createCell(2).setCellValue("女"); //通过输出流将workbook对象下载到磁盘 OutputStream out = new FileOutputStream("D:/student.xlsx"); workbook.write(out); out.flush();//刷新 out.close();//关闭 workbook.close(); }