POI实现Excel的导出
public static void export(String filename,HttpServletResponse response){
??? // 創建excel WORKBOOK和SHEET
???HSSFWorkbook wb = new HSSFWorkbook();
?? //設置邊框
???HSSFCellStyle cellStyle= wb.createCellStyle();?
???cellstyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下邊框???
???cellstyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左邊框???
???cellstyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上邊框???
???cellstyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右邊框????
???
???//設置邊框加粗帶邊框帶顏色
?? HSSFCellStyle cellStyle1 = wb.createCellStyle();?
???HSSFFont cellfont1 = wb.createFont();
???cellfont1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//字體加粗
???cellfont1.setFontHeightInPoints((short) 14);?//設置字體大小
???cellStyle1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//設置垂直居中
???cellStyle1.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下邊框???
???cellStyle1.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左邊框???
???cellStyle1.setBorderTop(HSSFCellStyle.BORDER_THIN);//上邊框???
???cellStyle1.setBorderRight(HSSFCellStyle.BORDER_THIN);//右邊框???
???cellStyle1.setFillForegroundColor((short) 24);// 設置背景色???
???cellStyle1.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);?
???cellStyle1.setAlignment(HSSFCellStyle.ALIGN_CENTER);
???cellStyle1.setFont(cellfont1);
???HSSFSheet sheet = wb.createSheet("數據導出");
???wb.setSheetName(wb.getSheetIndex("數據導出"), "數據導出",
?????HSSFWorkbook.ENCODING_UTF_16);
???sheet.setDefaultColumnWidth(Short.parseShort("40"));
???
???HSSFRow row = null;
???row = sheet.createRow(0);
???
???// 生成表頭?
? genTableCell(cellStyle1,row,'姓名',(short)0);//抽取的一個公共方法
? genTableCell(cellStyle1,row,'年齡’,(short)1);
???// 生成excel數據
??row = sheet.createRow(1);
? genTableCell(cellStyle,row,'張三',(short)0);
? genTableCell(cellStyle,row,'24,(short)1);
? genTableCell(cellStyle,row,'李四',(short)0);
? genTableCell(cellStyle,row,'18,(short)1);
? // 輸出EXCEL文件
???if (filename != null) {
????try {
?????filename=new String((filename).getBytes("gbk"),"iso8859-1");
????} catch (UnsupportedEncodingException e) {
?????
????}
???}
???
???response.setHeader("Content-Type", "Application/vnd.ms-excel");
???response.setHeader("Content-Disposition",
?????"attachment;filename=\"" + filename + "\"");
???ServletOutputStream fileOut;
???try {
????fileOut = response.getOutputStream();
????wb.write(fileOut);
????fileOut.close();
???} catch (IOException e) {
????logger.error("Excel寫入內存失敗!"+e.toString());
????throw new RuntimeException("Excel寫入內存失敗!"+e);
???}
}
/**
? *?將內容寫入指定單元格
? * @param cellfont?
? * @param row?
? * @param strvalue?單元格內容
? * @param i?單元格所在行坐標
? */
?private static void genTableCell(HSSFCellStyle cellstyle, HSSFRow row,
???String strvalue, short i) {
??HSSFCell cell;
??cell = row.createCell(i);
??cell.setEncoding(HSSFCell.ENCODING_UTF_16);
??cell.setCellValue(strvalue);
??cellstyle.setWrapText(true);
??cell.setCellStyle(cellstyle);
?}
總結
以上是生活随笔為你收集整理的POI实现Excel的导出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新疆计算机证相关信息技术,2020新疆特
- 下一篇: CodeMix使用教程:Emmet