- 使用的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;
}