【学习笔记】使⽤Java读取、写⼊Excel全版本(包含xls、xslx格式)通⽤⽅法
及代。。。
POI是Java编写的开源跨平台Excel处理⼯具,不仅提供了对Excel的操作,也提供了对Word、PowerPoint和Visio等格式的⽂档的操作。
jar包下载
基于Maven⼯程的l⽂件配置POI如下所⽰:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
相关类的介绍
Workbook:Workbook接⼝,⽤于创建⼯作簿。
Sheet:Sheet接⼝,⽤于创建⼯作表。
Row:Row接⼝,⽤于操作⾏。
Cell:Cell接⼝,⽤于操作列。
针对xls格式的Excel数据,需要使⽤HSSF开头的类进⾏操作;针对xlsx格式(Excel 2007以上版本)的Excel数据,需要使
⽤XSSF开头的类进⾏操作。
相关⽅法的介绍
createRow(int column)⽅法:创建某⾏。
createCell(int column)⽅法:创建某列。
setCellValue(String value)⽅法:为该单元格赋值。
getSheet(String name)⽅法:读取⼯作表。
getSheetAt(int index)⽅法:读取⼯作表。
getLastRowNum()⽅法:获取表格的所有⾏数。
getLastCellNum()⽅法:获取某⾏的所有列数。
Java写⼊Excel全版本通⽤代码
/**
* 使⽤POI写⼊Excel(包括xls和xlsx)
*
* @author hakutaku
* @create 2020-07-01-21:07
**/
public class PoiExcelWritelProcess {
public static void main(String[] args)throws IOException {
// ⽂件名称
File file =new File("test/helloworld.xlsx");
//        File file = new File("test/read.xlsx");
OutputStream outputStream =new FileOutputStream(file);        Workbook workbook =getWorkBook(file);
Sheet sheet = ateSheet("Sheet1");
// 添加表头
Row row = ateRow(0);// 创建某⾏
// 添加内容
for(int i =0; i <2; i++){
Row everyRow = ateRow(i +1);
}
workbook.write(outputStream);
// 释放资源
workbook.close();
outputStream.close();
}
/*
* 判断Excel的版本,初始化不同的Workbook
* */
public static Workbook getWorkBook(File file){
Workbook workbook = null;
// Excel 2003版本
Name().endsWith("xls")){
workbook =new HSSFWorkbook();
}// Excel 2007以上版本
else Name().endsWith("xlsx")){
workbook =new XSSFWorkbook();
}
return workbook;
}
}
Java读取Excel全版本通⽤代码
/**
* 使⽤POI读取Excel⽂件(包括xls和xlsx)
*
* @author hakutaku
* @create 2020-07-01-19:39
**/
public class PoiExcelRead {
public static void main(String[] args)throws IOException {
// ⽂件名称
File file =new File("test/helloworld.xlsx");
//        File file = new File("test/read.xlsx");
// 根据⽂件名称获取操作⼯作簿
Workbook workbook =getWorkBook(file);
// 获取读取的⼯作表,这⾥有两种⽅式
Sheet sheet = Sheet("Sheet1");
//        Sheet sheet = SheetAt(0);
int allRow = LastRowNum();// 获取⾏数
// 按⾏读取数据
for(int i =0; i <= allRow; i++){
学习java的学习方法Row row = Row(i);
// 获取列数
short lastCellNum = LastCellNum();
for(int j =0; j < lastCellNum; j++){
String cellValue = Cell(j).getStringCellValue();
System.out.print(cellValue +"\t");
}
System.out.println();
}
workbook.close();
}
/*
* 判断Excel的版本,初始化不同的Workbook
* */
public static Workbook getWorkBook(File file)throws IOException { // 输⼊流
InputStream in =new FileInputStream(file);
Workbook  workbook = null;
/
/ Excel 2003版本
Name().endsWith("xls")){
workbook =new HSSFWorkbook(in);
}// Excel 2007以上版本
else Name().endsWith("xlsx")){
workbook =new XSSFWorkbook(in);
}
in.close();
return workbook;
}
}
运⾏结果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。