使用的poi的相關jar包一定版本一定要相同。。。。。
maven所使用jar包
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.9</version> </dependency>
private void exportExcel(List orderList) {
if(orderList == null || orderList.size() == 0){
return;
}
try {
String[] header = { “訂單號”, “交易類型”, “單價”, “交易數量”, “交易金額”, “交易時間” };
SXSSFWorkbook sxssfWorkbook = createSXSSFWorkbook(orderList, header);
// 寫入輸出結果
FileOutputStream out = new FileOutputStream(“D://訂單統計.xlsx”);
sxssfWorkbook.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
private SXSSFWorkbook createSXSSFWorkbook(List<USDTOrderModel> dataList, String[] header) { SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(500); Sheet sheet = null; Row row = null; int MAX_ROW = 500; int count = 0; if (dataList != null && !dataList.isEmpty()) { for (USDTOrderModel model : dataList) { if (count % MAX_ROW == 0) { sheet = sxssfWorkbook.createSheet("交易明細_" + (count / MAX_ROW)); // 建立一個新的行,添加幾個儲存格。 row = sheet.createRow(0); // 建立一個儲存格,設定儲存格的值 for (int i = 0; i < header.length; i++) { row.createCell(i).setCellValue(header[i]); } } row = sheet.createRow(count % MAX_ROW + 1); row.createCell(0).setCellValue(model.getOrderId()); row.createCell(1).setCellValue(model.getOrderType()); row.createCell(2).setCellValue(model.getTransactionPrice()); row.createCell(3).setCellValue(model.getDealCount()); row.createCell(4).setCellValue( model.getTransactionTotalAmount()); row.createCell(5).setCellValue(model.getTransactionTime()); count++; } } else { // 建立一個預設標題列,如果不建立當list為空白時匯出的excel無法開啟 sheet = sxssfWorkbook.createSheet("交易明細"); row = sheet.createRow(0); for (int i = 0; i < header.length; i++) { row.createCell(i).setCellValue(header[i]); } } return sxssfWorkbook;}