1. 程式人生 > >java程式碼中實現excel表下載

java程式碼中實現excel表下載

我這邊定義了一個類Excel,然後定義了一個初始化方法

public class Ecxel {    
public static HSSFFont font;
public static HSSFCellStyle style;
public static HSSFCellStyle titleStyle;


public static void main(String[] args) {
createExcel();
}
public static void createExcel(){
// 建立Excel的工作書冊 Workbook,對應到一個excel文件
   HSSFWorkbook wb = new HSSFWorkbook();
   init(wb);
   // 建立Excel的工作sheet,對應到一個excel文件的tab
   HSSFSheet sheet = wb.createSheet("sheet1");
// 建立Excel的sheet的一行
   List<String> list = new ArrayList<String>();
   list.add("1");
   list.add("2");
   list.add("3");
   list.add("4");
   for(int k =0 ;k<20;k++){
   HSSFRow row = sheet.createRow(k);
// 建立一個Excel的單元格
for(int i=0;i<list.size();i++){
HSSFCell cell = row.createCell(i);
// 給Excel的單元格設定樣式和賦值
//cell.getCellStyle().cloneStyleFrom(style);
cell.setCellStyle(style);
cell.setCellValue(list.get(i));
}
   }
   try {
wb.write(new FileOutputStream(new File("D:\\github\\add.xls")));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

public static void init(HSSFWorkbook wb) {
       // 建立字型樣式


       font = wb.createFont();
       font.setFontName("Verdana");
       font.setBoldweight((short) 100);
       font.setFontHeight((short) 100);
       font.setColor(HSSFColor.BLACK.index);


       //標題樣式
       HSSFFont titleFont = wb.createFont();
       titleFont.setFontName("Verdana");
       titleFont.setBold(true);
       titleFont.setFontHeight((short) 150);
       titleFont.setFontHeight((short) 300);
       titleFont.setColor(HSSFColor.BLACK.index);


       titleStyle = wb.createCellStyle();
       titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
       titleStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
       titleStyle.setFont(titleFont);


       // 建立單元格樣式
       style = wb.createCellStyle();
       style.setShrinkToFit(true);
       style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
       style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
       //style.setFillForegroundColor(HSSFColor.LIGHT_TURQUOISE.index);
       //style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);


       // 設定邊框
       style.setBottomBorderColor(HSSFColor.BLACK.index);
       style.setLeftBorderColor(HSSFColor.BLACK.index);
       style.setRightBorderColor(HSSFColor.BLACK.index);
       style.setTopBorderColor(HSSFColor.BLACK.index);
       style.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
       style.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
       style.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
       style.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);


       //自動換行
       style.setWrapText(true);


       style.setFont(font);// 設定字型F
   }


    
    
}

執行程式碼就會自動下載exxel表

在web上匯出excel表的流程就是傳入引數和定義controller,download