在項(xiàng)目開發(fā)的過程中,少不了要把數(shù)據(jù)導(dǎo)入導(dǎo)出,把數(shù)據(jù)導(dǎo)出到Excel文檔中又是經(jīng)常使用的。本篇文章將介紹一個(gè)Java提供的POI來實(shí)現(xiàn)把數(shù)據(jù)導(dǎo)出到Excel文檔中。
一、前言
需要用到的jar包 poi-3.17.jar
二、具體實(shí)現(xiàn)步驟
//第一步創(chuàng)建一個(gè)webbook,對應(yīng)一個(gè)Excel文件
HSSFWorkbook wb=new HSSFWorkbook();
//第二步,在webbook中添加一個(gè)sheet,對應(yīng)Excel文件中的sheet
HSSFSheet sheet=wb.createSheet("食物信息數(shù)據(jù)");
//第三步,在sheet中添加表頭第0行
HSSFRow row = sheet.createRow(0);
//第四步,創(chuàng)建單元格,并設(shè)置表頭居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HorizontalAlignment.CENTER);//居中格式
HSSFCell cell = row.createCell(0);
cell.setCellValue("編號");
cell.setCellStyle(style);
cell=row.createCell((short)1);
cell.setCellValue("名稱");
cell.setCellStyle(style);
cell=row.createCell((short)2);
cell.setCellValue("類型");
cell.setCellStyle(style);
cell=row.createCell((short)3);
cell.setCellValue("單價(jià)");
cell.setCellStyle(style);
cell=row.createCell((short)4);
cell.setCellValue("庫存");
cell.setCellStyle(style);
//第五步,寫入實(shí)體數(shù)據(jù),從數(shù)據(jù)庫拿數(shù)據(jù)
FoodController controller=new FoodController();
List<Foods> foodsList = controller.foodsList(null, null);
for (int i = 0; i < foodsList.size(); i++) {
//創(chuàng)建單元格,并賦值
row=sheet.createRow(i+1);
Foods foods = foodsList.get(i);
row.createCell((short)0).setCellValue(foods.getId());
row.createCell((short)1).setCellValue(foods.getName());
row.createCell((short)2).setCellValue(foods.getType());
row.createCell((short)3).setCellValue(foods.getPrice());
row.createCell((short)4).setCellValue(foods.getNum());
}
//第六步,下載Excel
OutputStream out=null;
out=response.getOutputStream();
String fileName="食物信息.xls";
response.setContentType("application/x-=msdownload");
response.setHeader("Content-Disposition", "attachment; filename="
+URLEncoder.encode(fileName, "UTF-8"));
wb.write(out);
三、實(shí)現(xiàn)效果圖
導(dǎo)出成功后數(shù)據(jù)成功顯示
以上就是關(guān)于Java中POI的使用,以及使用POI導(dǎo)出數(shù)據(jù)到Excel的步驟,想要了解更多Java POI導(dǎo)出數(shù)據(jù)到其他文檔文件的內(nèi)容,可以瀏覽W3Cschool相關(guān)技術(shù)文章,希望本篇文章能夠?qū)Υ蠹业膶W(xué)習(xí)有所幫助!