Java poiはExcelをエクスポートしてクライアントにダウンロードします。
Java poiはExcelをエクスポートしてクライアントにダウンロードします。具体的な内容は以下の通りです。
Mavenの配置は、他のファイル形式の依存を含めて全部貼り付けられます。
Mavenの配置は、他のファイル形式の依存を含めて全部貼り付けられます。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-excelant</artifactId>
<version>3.12</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.12</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.8</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.8</version>
</dependency>
サービス層
@Override
public void export(Long sblsh, String excelName, OutputStream out) {
try {
// , webbook, Excel
HSSFWorkbook wb = new HSSFWorkbook();
//
HSSFSheet sheet = wb.createSheet(excelName);
// , sheet 0
HSSFRow row = sheet.createRow(0);
// , ,
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //
HSSFCell cell = row.createCell(0);
cell.setCellStyle(style);
Byte kjzz = qyjbxxMapper.getKjzz(sblsh);
List<A> record = this.selectBySblsh(sblsh);
this.insertData(wb, sheet, row, record, out);
}
} catch (Exception e) {
logger.info(e.getMessage());
}
}
/**
*
* @param wb execl
* @param sheet
* @param row
* @param record
* @param out
*/
private void insertData(HSSFWorkbook wb,HSSFSheet sheet,HSSFRow row,List<A> record,
OutputStream out){
try {
row = sheet.createRow(1);
for(int i=0;i<title.length;i++){
row.createCell(i).setCellValue(title[i]);
}
for(int i=0;i<record.size();i++){
row = sheet.createRow(i+2);
A data = record.get(i);
row.createCell(0).setCellValue(data.getHc());
row.createCell(1).setCellValue(data.getXm());
BigDecimal je = data.getJe();
if(je!=null){
row.createCell(2).setCellValue(je.doubleValue());
}
}
// , 2 , 2
CellRangeAddress region = new CellRangeAddress(0,0,0,title.length-1);
sheet.addMergedRegion(region);
wb.write(out);
out.flush();
out.close();
wb.close();
} catch (Exception e) {
logger.info(e.getMessage());
}
}
コントローラ
@RequestMapping("/export")
public void export(Long sblsh, HttpServletRequest request, HttpServletResponse response){
response.setContentType("octets/stream");
String excelName = " ";
try {
response.addHeader("Content-Disposition", "attachment;filename="+new String(excelName.getBytes("gb2312"), "ISO8859-1" )+".xls");
OutputStream out = response.getOutputStream();
aService.export(sblsh,excelName ,out);
} catch (Exception e) {
e.printStackTrace();
}
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。