接口示例
/**
* 配置单服务、自有产品、外采产品导出
*
* @param id 主键
* @return 单条数据
*/
@GetMapping("/selectOnePzdInfoDc")
public void selectOnePzdInfoDc(HttpServletResponse response, Integer id, String type) {
List<PzdConfig> list = pzdInfoService.queryByIdDc(response,id,type);
String[] title = new String[0];
if ("外采产品".equals(type)){
title = new String[]{"产品名称", "设备类型", "建议采购单价(元)", "数量", "单位","销售单价(元)","品牌","规格型号/技术参数","备注"};
}else if ("自有产品".equals(type)){
title = new String[]{"产品名称", "公司定价(元)", "数量", "单位", "备注"};
}else if ("服务".equals(type)){
title = new String[]{"服务名称", "服务费用(元/单位)", "人数", "单位", "服务内容"};
}
//excel文件名
// String fileName = System.currentTimeMillis()+".xls";
String fileName = type+".xls";
//sheet名
String sheetName = type;
HSSFWorkbook wb = this.getHSSFWorkbook(sheetName, title, list, null);
try {
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));
response.flushBuffer();
wb.write(response.getOutputStream());
wb.close();
} catch (Exception e) {
e.printStackTrace();
}
}
导出方法
/**
* 导出Excel
* @param sheetName sheet名称
* @param title 标题
* @param list 内容
* @param wb HSSFWorkbook对象
* @return
*/
public HSSFWorkbook getHSSFWorkbook(String sheetName,String []title,List<PzdConfig> list, HSSFWorkbook wb){
if(wb == null){
wb = new HSSFWorkbook();
}
HSSFSheet sheet = wb.createSheet(sheetName);
HSSFRow row = sheet.createRow(0);
HSSFCellStyle style = wb.createCellStyle();
HSSFCell cell = null;
for(int i=0;i<title.length;i++){
cell = row.createCell(i);
cell.setCellValue(title[i]);
cell.setCellStyle(style);
}
if (list.size()>0){
for(int i=0;i<list.size();i++){
row = sheet.createRow(i + 1);
if ("外采产品".equals(sheetName)){
row.createCell(0).setCellValue(list.get(i).getProductName());
row.createCell(1).setCellValue(list.get(i).getDeviceType());
row.createCell(2).setCellValue(list.get(i).getPriceXs());
row.createCell(3).setCellValue(list.get(i).getSum());
row.createCell(4).setCellValue(list.get(i).getUnit());
row.createCell(5).setCellValue(list.get(i).getPriceCg());
row.createCell(6).setCellValue(list.get(i).getBrand());
row.createCell(7).setCellValue(list.get(i).getModel());
row.createCell(8).setCellValue(list.get(i).getRemark());
}else if ("自有产品".equals(sheetName)){
row.createCell(0).setCellValue(list.get(i).getProductName());
row.createCell(1).setCellValue(list.get(i).getPriceXs());
row.createCell(2).setCellValue(list.get(i).getSum());
row.createCell(3).setCellValue(list.get(i).getUnit());
row.createCell(4).setCellValue(list.get(i).getRemark());
}else if ("服务".equals(sheetName)){
row.createCell(0).setCellValue(list.get(i).getProductName());
row.createCell(1).setCellValue(list.get(i).getPriceXs());
row.createCell(2).setCellValue(list.get(i).getSum());
row.createCell(3).setCellValue(list.get(i).getUnit());
row.createCell(4).setCellValue(list.get(i).getRemark());
}
}
}
return wb;
}