Java Web利用POI匯出Excel簡單例子

2021-08-28 05:53:55 字數 2746 閱讀 1320

採用spring mvc架構: 

controller層**如下 

@controller  

public class studentexportcontroller

}

service層**如下: 

@service  

public class studentexportservice ;

public hssfworkbook export(listlist)

for (int i = 0; i < list.size(); i++)

return wb;

} }

前台的js**如下: 

設定excel樣式以及注意點:

string excelheader = ;

string excelheader1 = ;

// 單元格列寬

int excelheaderwidth = ;

hssfworkbook wb = new hssfworkbook();

hssfsheet sheet = wb.createsheet("機房報表統計");

hssfrow row = sheet.createrow((int) 0);

hssfcellstyle style = wb.createcellstyle();

// 設定居中樣式

style.setalignment(hssfcellstyle.align_center); // 水平居中

style.setverticalalignment(hssfcellstyle.vertical_center); // 垂直居中

// 設定合計樣式

hssfcellstyle style1 = wb.createcellstyle();

font font = wb.createfont();

font.setcolor(hssfcolor.red.index);

font.setboldweight(font.boldweight_bold); // 粗體

style1.setfont(font);

style1.setalignment(hssfcellstyle.align_center); // 水平居中

style1.setverticalalignment(hssfcellstyle.vertical_center); // 垂直居中

// 合併單元格

// first row (0-based) last row (0-based) first column (0-based) last

// column (0-based)

sheet.addmergedregion(new cellrangeaddress(0, 1, 0, 0));

sheet.addmergedregion(new cellrangeaddress(0, 1, 1, 1));

sheet.addmergedregion(new cellrangeaddress(0, 0, 2, 7));

sheet.addmergedregion(new cellrangeaddress(0, 0, 8, 13));

sheet.addmergedregion(new cellrangeaddress(0, 0, 14, 16));

sheet.addmergedregion(new cellrangeaddress(0, 0, 17, 19));

sheet.addmergedregion(new cellrangeaddress(0, 0, 20, 24));

sheet.addmergedregion(new cellrangeaddress(0, 1, 25, 25));

// 設定列寬度(畫素)

for (int i = 0; i < excelheaderwidth.length; i++)

// 新增**頭

for (int i = 0; i < excelheader.length; i++)

row = sheet.createrow((int) 1);

for (int i = 0; i < excelheader1.length; i++)

注意點1:合併單元格    new cellrangeaddress(int,int,int,int)

first row (0-based) ,last row (0-based), first column (0-based),last column (0-based)

注意點2:合併單元格

string excelheader = ;

合併以後的單元格雖然是乙個,但是仍然要保留其單元格內容,此處用空字串代替,否則後續表頭顯示不出

注意點3:填充單元格

正確寫法:

hssfcell cell = row.createcell(i);

cell.setcellvalue(excelheader1[i]);

cell.setcellstyle(style);

錯誤寫法:

row.createcell(i).setcellvalue(excelheader1[i]); 

row.createcell(i).setcellstyle(style);

本人為了省乙個hssfcell物件,使用了錯誤寫法,導致hssfcell物件建立了2次,最後只保留了樣式,而內容無法顯示

Java Web利用POI匯出Excel簡單例子

採用spring mvc架構 controller層 如下 controller public class studentexportcontroller service層 如下 service public class studentexportservice public hssfworkboo...

poi使用HSSFWorkbook 匯出excel

hssfworkbook 為office2003 xssfworkbook 為office2007以上可用 poi org.junit.test public void poi1test 合併單元格 合併日期佔兩行 4個引數,分別為起始行,結束行,起始列,結束列 行和列都是從0開始計數,且起始結束都...

利用poi匯出excel

最近接了乙個任務,要求把資料庫內容提取成excel,乙個excel動態建立多個sheet,乙個sheet裡面顯示一條資訊,然後再根據此條資訊的結果,再去子表獲取結果,如一條學生資訊,對應顯示該學生的所有詳細資訊。如圖所示 工程中匯入 public static void writeexcelnew ...