JAVA導(dǎo)出EXCEL表格的方法:首先用HSSFWorkbook打開(kāi)或者創(chuàng)建“Excel文件對(duì)象”;然后用Sheet對(duì)象返回行對(duì)象,用行對(duì)象得到Cell對(duì)象;接著對(duì)Cell對(duì)象讀寫(xiě);最后將生成的文件放入響應(yīng)的前端頁(yè)面。
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括啟東網(wǎng)站建設(shè)、啟東網(wǎng)站制作、啟東網(wǎng)頁(yè)制作以及啟東網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,啟東網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到啟東省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
JAVA導(dǎo)出EXCEL表格的方法:
基本操作步驟:
首先,我們應(yīng)該要知道的是,一個(gè)Excel文件對(duì)應(yīng)一個(gè)workbook,一個(gè)workbook中有多個(gè)sheet組成,一個(gè)sheet是由多個(gè)行(row)和列(cell)組成。
那么我們用poi要導(dǎo)出一個(gè)Excel表格的正確順序應(yīng)該是:
1、用HSSFWorkbook打開(kāi)或者創(chuàng)建“Excel文件對(duì)象”
2、用HSSFWorkbook對(duì)象返回或者創(chuàng)建Sheet對(duì)象
3、用Sheet對(duì)象返回行對(duì)象,用行對(duì)象得到Cell對(duì)象
4、對(duì)Cell對(duì)象讀寫(xiě)。
5、將生成的HSSFWorkbook放入HttpServletResponse中響應(yīng)到前端頁(yè)面
導(dǎo)出Excel應(yīng)用實(shí)例:
工具類(lèi)代碼:
package com.yq.util; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExcelUtil { /** * 導(dǎo)出Excel * @param sheetName sheet名稱(chēng) * @param title 標(biāo)題 * @param values 內(nèi)容 * @param wb HSSFWorkbook對(duì)象 * @return */ public static HSSFWorkbook getHSSFWorkbook(String sheetName,String []title,String [][]values, HSSFWorkbook wb){ // 第一步,創(chuàng)建一個(gè)HSSFWorkbook,對(duì)應(yīng)一個(gè)Excel文件 if(wb == null){ wb = new HSSFWorkbook(); } // 第二步,在workbook中添加一個(gè)sheet,對(duì)應(yīng)Excel文件中的sheet HSSFSheet sheet = wb.createSheet(sheetName); // 第三步,在sheet中添加表頭第0行,注意老版本poi對(duì)Excel的行數(shù)列數(shù)有限制 HSSFRow row = sheet.createRow(0); // 第四步,創(chuàng)建單元格,并設(shè)置值表頭 設(shè)置表頭居中 HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 創(chuàng)建一個(gè)居中格式 //聲明列對(duì)象 HSSFCell cell = null; //創(chuàng)建標(biāo)題 for(int i=0;i控制器代碼:
@Controller @RequestMapping(value = "/report") public class ReportFormController extends BaseController { @Resource(name = "reportService") private ReportManager reportService; /** * 導(dǎo)出報(bào)表 * @return */ @RequestMapping(value = "/export") @ResponseBody public void export(HttpServletRequest request,HttpServletResponse response) throws Exception { //獲取數(shù)據(jù) Listlist = reportService.bookList(page); //excel標(biāo)題 String[] title = {"名稱(chēng)","性別","年齡","學(xué)校","班級(jí)"}; //excel文件名 String fileName = "學(xué)生信息表"+System.currentTimeMillis()+".xls"; //sheet名 String sheetName = "學(xué)生信息表"; for (int i = 0; i < list.size(); i++) { content[i] = new String[title.length]; PageData obj = list.get(i); content[i][0] = obj.get("stuName").tostring(); content[i][1] = obj.get("stuSex").tostring(); content[i][2] = obj.get("stuAge").tostring(); content[i][3] = obj.get("stuSchoolName").tostring(); content[i][4] = obj.get("stuClassName").tostring(); } //創(chuàng)建HSSFWorkbook HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(sheetName, title, content, null); //響應(yīng)到客戶(hù)端 try { this.setResponseHeader(response, fileName); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); } } //發(fā)送響應(yīng)流方法 public void setResponseHeader(HttpServletResponse response, String fileName) { try { try { fileName = new String(fileName.getBytes(),"ISO8859-1"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } response.setContentType("application/octet-stream;charset=ISO8859-1"); response.setHeader("Content-Disposition", "attachment;filename="+ fileName); response.addHeader("Pargam", "no-cache"); response.addHeader("Cache-Control", "no-cache"); } catch (Exception ex) { ex.printStackTrace(); } } } 前端頁(yè)面代碼:
$('#js-export').click(function(){ window.location.href="/report/exportBooksTable.do; });相關(guān)學(xué)習(xí)推薦:java基礎(chǔ)
網(wǎng)站名稱(chēng):JAVA如何導(dǎo)出EXCEL表格
新聞來(lái)源:http://weahome.cn/article/cjssgj.html