使用APACHE下的POI读写EXCEL
内容出处https://study.163.com/course/courseMain.htm?courseId=1209288803
APACHE官网连接
POI下载地址
API帮助地址
http://poi.apache.org/components/index.html
快速入门小例子
http://poi.apache.org/components/spreadsheet/quick-guide.html
下载下来的压缩包
解压缩后
jar包和docs离线API帮助
搭建环境
1.新建一个Java Project项目
新建一个包
新建一个类
将POI的jar包导入到eclipse项目中
1.新建个文件夹
拷贝jar包
ooxml下面的jar包也加进去
在新建一个lib文件夹放另外一堆jar包
将jar包全部加到项目中
全部选中-Build Path-Add to Build Path
加入之后jar包会产生变化
在把上面lib文件夹里的jar包也添加一下
开始写代码
EXCEL 97-03版本是用.xls后缀
07-19版本是用.xlsx后缀
对应的是两套函数方法
以上例子出处http://poi.apache.org/components/spreadsheet/quick-guide.html#NewWorkbook
创建EXCEL,写入内容。源代码
package my; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class test { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("开始"); //EXCEL路径 File file = new File("D:\1\2\123.xlsx"); //新建一个EXCEL Workbook wb = new XSSFWorkbook(); //添加sheet org.apache.poi.ss.usermodel.Sheet sheet1 = wb.createSheet("第一页"); org.apache.poi.ss.usermodel.Sheet sheet2 = wb.createSheet("第二页"); //创建第一行 Row sheet1Row = sheet1.createRow(0); //创建第一个单元格 Cell sheet1Cell = sheet1Row.createCell(0); //设置单元格类型 sheet1Cell.setCellType(CellType.STRING); //写入内容 sheet1Cell.setCellValue("a test 大傻逼"); //保存EXCEL try { OutputStream fileOut = new FileOutputStream(file); wb.write(fileOut); fileOut.close(); } catch (Exception e) { e.printStackTrace(); } System.out.println("结束"); } }
演示
打开EXCEL,读取内容。源代码
package my; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import org.apache.poi.sl.usermodel.Sheet; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; public class test { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("开始"); //EXCEL路径 File file = new File("D:\1\2\123.xlsx"); try { InputStream inp = new FileInputStream(file); //打开一个EXCEL Workbook wb = WorkbookFactory.create(inp); //获得第一个sheet org.apache.poi.ss.usermodel.Sheet sheet = wb.getSheetAt(0); // //获得第一行 // Row row = sheet.getRow(0); // // //获得第一个单元格 // Cell cell = row.getCell(0); // // //获得单元格的内容 // String value = cell.getStringCellValue(); // // //打印 // System.out.println(value); //获得总行数 int rowNum = sheet.getLastRowNum(); //遍历第一列的单元格内容 for(int i=0;i<rowNum;i++) { Row row = sheet.getRow(i); //获得第一个单元格 Cell cell = row.getCell(0); //获得单元格的内容 String value = cell.getStringCellValue(); //打印 System.out.println(value); } // //遍历所有sheet的所有行和单元格 // for(org.apache.poi.ss.usermodel.Sheet sheet : wb) // { // for(Row row : sheet) // { // for(Cell cell : row) // { // //打印每个单元格内容 // System.out.println(cell.getStringCellValue()); // } // } // } } catch (Exception e) { e.printStackTrace(); } System.out.println("结束"); } }
演示
更多的API用法去看例子
http://poi.apache.org/components/spreadsheet/quick-guide.html#Iterator
离线API
程序员阿飞
2021年5月19日