您的位置:首页 > 编程语言 > Java开发

Java POI导入导出Excel

2018-01-30 11:29 387 查看
使用的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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: