JXLS模板导出excel
项目需要,记录下。
1、maven依赖
<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-core</artifactId>
<version>1.0.5</version>
</dependency>
2、ExportOrderTest .java
public static void main(String[] args) {
ExportOrderDTO dto = new ExportOrderDTO();
dto.setOrderCode("12345");
dto.setName("测试");
// 关联list
List<ExportOrderItemDTO> brands = Lists.newArrayList();
for (int x = 10; x < 20; x = x + 1) {
ExportOrderItemDTO itemDTO = new ExportOrderItemDTO();
itemDTO.setQuantity(x);
itemDTO.setName("方便面" + x);
brands.add(itemDTO);
}
dto.setBrands(brands);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HHmmss");
String xlsTemplateFileName = "d:/template.xlsx";
String outputFileName = "d:/my-" + sdf.format(new Date()) + ".xlsx";
Map<String, ExportOrderDTO> beans = Maps.newHashMap();
beans.put("list", dto);
XLSTransformer transformer = new XLSTransformer();
try {
transformer.transformXLS(xlsTemplateFileName, beans,outputFileName);
} catch (ParsePropertyException e) {
e.printStackTrace();
} catch (InvalidFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("success!!!");
}
3、template.xlsx
订单明细:
订单号 | 姓名 |
---|---|
订单号 | ${list.name} |
姓名 | ${list.orderCode} |
购买明细:
<jx:forEach items="${list.brands}" var="brands">
${brands.name}
${brands.quantity}
</jx:forEach>
—-END—