1.maven工程導入依賴
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>RELEASE</version> </dependency>
這里導入兩個poi的原因是:在excel的表格保存為xls和xlsx兩種格式,excel表格早先是xls后來又加入了xlsx的格式,在下面的代碼中會有所體現。
2.編寫demo
@RestController
@RequestMapping("/POI")
public class POIController {
@RequestMapping("/createExcel")
public void createExcel(){
//HSSFWorkbook wb = new HSSFWorkbook();
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheets= wb.createSheet("九九乘法表");
for (int i=1;i<=9;i++){
XSSFRow row = sheets.createRow(i - 1);
for (int j = 1; j<= 9; j++) {
XSSFCell cell = row.createCell(j - 1);
cell.setCellValue(i+"*"+j+"="+i*j);
}
}
try {
FileOutputStream fileOutputStream = new FileOutputStream("d:\\test.xlsx");
try {
wb.write(fileOutputStream);
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
里注意的點是在上圖創建excel工作簿的時候有兩種方式,如下所示:
HSSFWorkbook wb = new HSSFWorkbook();//生成xls格式的excel XSSFWorkbook wb = new XSSFWorkbook();//生成xlsx格式的excel
3.poi的整個設計是根據excel表格的特性來做的,大致思路是:
3.1 通過HSSFWorkbook wb = new HSSFWorkbook()或 XSSFWorkbook wb = new XSSFWorkbook()生成excel工作簿(wb) 3.2 通過創建好的工作簿去創建工作表(sheet) 3.3 通過工作表去創建表中的行(row),行里索要填的內容就是單元格的內容(cell) 最后,提供了工作簿(wb)、工作表(sheet)、表中的行(row)、行內容的單元格(cell)分別的api,自己稍微摸索一下就能
