1. 程式人生 > >java匯出Excel表格

java匯出Excel表格

直接貼上程式碼

	/**
	 * 
	* @Title: createExcel
	* @Description: 傳入屬性值,生成Excel表格
	* @author mzl
	* @param entyList
	* @param response
	* @throws
	 */
	private static void createExcel(List<List<String[]>> entyList,HttpServletResponse response) {
        // 建立一個Excel檔案
        HSSFWorkbook workbook = new HSSFWorkbook();
        // 建立一個工作表
        HSSFSheet sheet = workbook.createSheet("文物列表資訊");
        // 設定單元格格式居中
        HSSFCellStyle cellStyle = workbook.createCellStyle();
        cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

        // 1.生成字型物件	
        HSSFFont font = workbook.createFont();
        font.setFontHeightInPoints((short) 18);	
        font.setFontName("新宋體");	
        font.setColor(HSSFColor.RED.index);	
        font.setBoldweight((short) 0.8);	
        // 2.生成樣式物件
        HSSFCellStyle style = workbook.createCellStyle();	
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER);	
        style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);	
        style.setFont(font);

        
        // 新增資料內容
        int i=0;
        for(List<String[]> _enty:entyList){
        	HSSFRow hssfRow = sheet.createRow(i);
        	int j=0;
        	for(String[] entry : _enty){
        		// 建立單元格,並設定值
                HSSFCell cell = hssfRow.createCell(j);
                cell.setCellValue(entry[1]);//之前使用長度為2的陣列來裝值,第一個裝欄位名稱、第二個裝欄位值,故這裡獲取entry[1]的值
                if(i==0){//設定第一行,每一個單元格的屬性及表頭屬性名稱
                	cell.setCellStyle(style);//設定表格樣式
                	sheet.autoSizeColumn(j);//設定第幾列
                    sheet.setColumnWidth(j,sheet.getColumnWidth(j)*17/10);//設定列寬
                }else{
                	cell.setCellStyle(cellStyle);
                }
                
        		j++;
        	}
        	i++;
        }
        try {
            
        	response.setHeader("Content-disposition", "attachment; filename=Relic.xls");
            response.setContentType("application/msexcel");
	        workbook.write(response.getOutputStream());
	        workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

該功能實現用到了poi的jar包,相關jar包下載,或者直接maven下載即可。

POI簡介:Jakarta POI 是一套用於訪問微軟格式文件的Java API。Jakarta POI有很多元件組成,其中有用於操作Excel格式檔案的HSSF和用於操作Word的HWPF,在各種元件中目前只有用於操作Excel的HSSF相對成熟。

現在用的比較多的都是用POI技術來匯出或者匯入Excel,所以我們就用POI吧,用POI匯出Excel我們首先要下載所需的jar包然後匯入到我們的專案中,用maven的同學只需找到相關

依賴加入到pom.xml裡面即可。