引入maven依赖
<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>
POI封装对象简介
XSSFWorkbook:对应excel的工作簿
XSSFSheet:对应excel的工作表
Row:行
Cell:单元格
Java操作execl简单例子
读取文件代码
public static void main(String[] args){
try {
XSSFWorkbook workbook = new XSSFWorkbook("");//获得工作簿
XSSFSheet sheetAt = workbook.getSheetAt(0);//获得工作表
for (Row cells : sheetAt) {//循环获取行
for (Cell cell : cells) {//获取单元格
System.out.println(cell.getStringCellValue());//获取单元格内容
}
workbook.close();//关闭资源
}
} catch (IOException e) {
e.printStackTrace();
}
}
其中取行和取单元格有其他的方法可以指定获取
取出单元格的内容时最好先设置一下取出来的内容的格式否则容易抛出类型不匹配的异常
cell.setCellType(Cell.CELL_TYPE_STRING);//还有number boolen等格式可以设置
写入代码
try {
workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("工作表1");//创建工作表
XSSFRow row = sheet.createRow(0);//创建行
XSSFRow row1 = sheet.createRow(1);//可以创建对应索引的行
row.createCell(0 ).setCellValue("单元格内容");//创建单元格写入内容
FileOutputStream outputStream = new FileOutputStream("");//创建一个输出流来将创建的workbook写入磁盘中
workbook.write(outputStream);//写入磁盘
outputStream.flush();
workbook.close();//关闭资源
outputStream.close();//关闭流
} catch (IOException e) {
e.printStackTrace();
}
更改样式
XSSFCellStyle cellStyle = workbook.createCellStyle();//创建样式
cellStyle.setFillBackgroundColor(IndexedColors.BLUE.getIndex());//背景颜色设置为黑
cellStyle.setFillPattern(CellStyle.ALIGN_CENTER);//设置填充样式
XSSFFont font = workbook.createFont();//创建字体样式
font.setFontName("黑体");//设置字体为黑体
cellStyle.setFont(font);//为样式设置字体样式
XSSFRow row2 = sheet.createRow(1);
row2.setRowStyle(cellStyle);//为单元格设置样式