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