public ResponseEntity<byte[]> exportExcel(Op300 record) throws UnsupportedEncodingException {
List<Op300> list = op300Mapper.select4excel(record);
XSSFWorkbook workbook=new XSSFWorkbook();
XSSFSheet sheet=workbook.createSheet("Sheet1");
// 3.填写表头
XSSFRow row=sheet.createRow(0);
XSSFCell cell=row.createCell(0);
cell.setCellValue("条码");
XSSFCell cell1 = row.createCell(1);
cell1.setCellValue("时间");
XSSFCell cell2 = row.createCell(2);
cell2.setCellValue("生产结果");
XSSFCell cell3 = row.createCell(3);
cell3.setCellValue("测试项");
XSSFCell cell4 = row.createCell(4);
cell4.setCellValue("测试值");
XSSFCell cell5 = row.createCell(5);
cell5.setCellValue("测试上限");
XSSFCell cell6 = row.createCell(6);
cell6.setCellValue("测试下限");
XSSFCell cell7 = row.createCell(7);
cell7.setCellValue("测试结果");
int i=1;
for (Op300 op300 : list) {
// XSSFRow rowi = sheet.createRow(i++);
String testXiang = op300.getTestXiang();
String testZhi = op300.getTestZhi();
String testShangXian = op300.getTestShangXian();
String testXiaXian = op300.getTestXiaXian();
String testResult = op300.getTestResult();
String[] xiangArr = testXiang.split(",");
String[] zhiArr = testZhi.split(",");
String[] shangXianArr = testShangXian.split(",");
String[] xiaXianArr = testXiaXian.split(",");
String[] resultArr = testResult.split(",");
int start =i;
for(int j=0;j<xiangArr.length;j++) {
XSSFRow rowi = sheet.createRow(i++);
if(j==0) {
rowi.createCell(0).setCellValue(op300.getBarCode());
rowi.createCell(1).setCellValue(op300.getTime());
rowi.createCell(2).setCellValue(op300.getProductResult());
}
rowi.createCell(3).setCellValue(xiangArr[j]);
rowi.createCell(4).setCellValue(zhiArr[j]);
rowi.createCell(5).setCellValue(shangXianArr[j]);
rowi.createCell(6).setCellValue(xiaXianArr[j]);
rowi.createCell(7).setCellValue(resultArr[j]);
}
int end =i-1;
// 合并单元格
CellRangeAddress mergedRegion = new CellRangeAddress(
start, end, // 行范围:start到end(包含)
0, 0 // 列范围:0到0(包含)
);
sheet.addMergedRegion(mergedRegion);
CellRangeAddress mergedRegion2 = new CellRangeAddress(
start, end, // 行范围:start到end(包含)
1, 1 // 列范围:1到1(包含)
);
sheet.addMergedRegion(mergedRegion2);
CellRangeAddress mergedRegion3 = new CellRangeAddress(
start, end, // 行范围:start到end(包含)
2, 2 // 列范围:2到2(包含)
);
sheet.addMergedRegion(mergedRegion3);
}
//创建一个字节数组输出流对象
ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
try {
//将excel写入输出流
workbook.write(outputStream);
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
HttpHeaders headers=new HttpHeaders();
String fileName=new String("excel.xlsx".getBytes("UTF-8"),"iso-8859-1");
headers.setContentDispositionFormData("attachment", fileName);
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
ResponseEntity<byte[]> returnFile=new ResponseEntity<byte[]>
(outputStream.toByteArray(),headers,HttpStatus.CREATED);
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return returnFile;
}

07-10
2304
2304
05-12
3141
3141
04-05
3308
3308

被折叠的 条评论
为什么被折叠?



