<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>${poi.version}</version>
</dependency>
複製代碼
Excel excel = new ExcelBuilder()
.createWorkBook("excel1.xlsx") //建立workbook
.createSheet("sheet1") //添加sheet1
.createSheet("sheet2") //添加sheet2
.build();
try {
String[] titles1 = new String[]{"1", "2"};
String[] titles2 = new String[]{"b1", "b2", "b3", "b4", "b5"};
List<Object[]> datas = new ArrayList<Object[]>();
datas.add(new Object[]{1, 2, 3, 4, 5, 6});
//合併單元格
List<CellRangeAddress> cellRangeAddresses = new ArrayList<CellRangeAddress>();
cellRangeAddresses.add(new CellRangeAddress(0, 0, 1, 2));
//爲sheet1添加header 添加數據
new SheetBuilder(excel.getSheet("sheet1"))
.addHeader(0, titles1)
.addContentData(null, datas, 1);
//爲sheet2添加header 添加數據 合併單元格操做
new SheetBuilder(excel.getSheet("sheet2"))
.addHeader(0, titles2)
.addContentData(null, datas, 1)
.addMergeCells(cellRangeAddresses);
//輸出excel到指定文件
excel.write("D:\\", System.currentTimeMillis() + "tmp.xlsx");
} catch (Exception e) {
e.printStackTrace();
}
複製代碼
public ExcelParser parse(String fileName) throws IOException {
if (fileName.endsWith(".xls")) {
workbook = new HSSFWorkbook(
Thread.currentThread().getContextClassLoader().getResourceAsStream("templates/" + fileName));
} else {
workbook = new XSSFWorkbook(
Thread.currentThread().getContextClassLoader().getResourceAsStream("templates/" + fileName));
}
return this;
}
複製代碼
Workbook workbook = new ExcelParser().parse("temp.xlsx").getWorkbook();//解析指定文件爲workbook
Sheet sheet = workbook.getSheet("刪除的"); //獲取指定sheet
Cell cell = sheet.getRow(0).createCell(0); //建立單元格
cell.setCellValue(time); //爲單元格設置內容
Excel excel = new ExcelBuilder(workbook).build(); //
excel.write("D:\\", "tmp" + time + ".xlsx"); //輸出填充數據以後的excel文件
複製代碼
注意以上代碼用到的類能夠在github對應的excel-tools module找到 demogit
有問題及其餘更好的內容歡迎留言交流~github