JAVA实现创建Excel表并导出(转发)
生活随笔
收集整理的這篇文章主要介紹了
JAVA实现创建Excel表并导出(转发)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JAVA實現創建Excel表并導出(轉發) 最近在做畢設,要求導出word,excel,pdf,這是excel。 原文是:http://blog.csdn.net/u014621859/article/details/54944059 [java]?view plain?copy <span?style="font-family:Verdana,?Arial,?Helvetica,?sans-serif;line-height:25.2px;background-color:rgb(255,255,255);">1.首先下載poi-3.6-20091214.jar,下載地址如下:</span>?? package?com.leyooe.common.bean.customizedproperty;?? import?java.util.Date;?? public?class?Member{?? ???private?Integer?code;?? ?????? ???private?String?name;?? ????? ???private?Integer?age;?? ????? ???private?Date?birth;?? ?? ????public?Student(Integer?code,?String?name,?Integer?age,?Date?birth)?{?? ????super();?? ????this.code?=?code;?? ????this.name?=?name;?? ????this.age?=?age;?? ????this.birth?=?birth;?? }?? ?? ????public?Integer?getCode()?{?? ????????return?code;?? ????}?? ?????? ????public?void?setCode(Integer?code)?{?? ????????this.code?=?code;?? ????}?? ?????? ????public?String?getName()?{?? ????????return?name;?? ????}?? ?????? ????public?void?setName(String?name)?{?? ????????this.name?=?name;?? ????}?? ?????? ????public?Integer?getAge()?{?? ????????return?age;?? ????}?? ?????? ????public?void?setAge(Integer?age)?{?? ????????this.age?=?age;?? ????}?? ?????? ????public?Date?getBirth()?{?? ????????return?birth;?? ????}?? ?????? ????public?void?setBirth(Date?birth)?{?? ????????this.birth?=?birth;?? ????}?? ????? ?? ?????? }?? package?com.leyooe.otw.api.file;?? import?java.io.FileOutputStream;?? import?java.text.SimpleDateFormat;?? import?java.util.ArrayList;?? import?java.util.List;?? ?? 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;?? ?? import?com.leyooe.common.bean.customizedproperty.Member;???? ???? public?class?CreateSimpleExcelToDisk???? {???? ????/**?? ?????*?@功能:手工構建一個簡單格式的Excel?? ?????*/???? ????private?static?List<Member>?getMember()?throws?Exception???? ????{???? ????????List?list?=?new?ArrayList();???? ????????SimpleDateFormat?df?=?new?SimpleDateFormat("yyyy-mm-dd");???? ???? ????????Member?user1?=?new?Member(1,?"熊大",?24,?df.parse("1993-08-28"));???? ????????Member?user2?=?new?Member(2,?"熊二",?23,?df.parse("1994-08-19"));???? ????????Member?user3?=?new?Member(3,?"熊熊",?24,?df.parse("1983-11-22"));???? ????????list.add(user1);???? ????????list.add(user2);???? ????????list.add(user3);???? ???? ????????return?list;???? ????}???? ???? ????public?static?void?main(String[]?args)?throws?Exception???? ????{???? ????????//?第一步,創建一個webbook,對應一個Excel文件???? ????????HSSFWorkbook?wb?=?new?HSSFWorkbook();???? ????????//?第二步,在webbook中添加一個sheet,對應Excel文件中的sheet???? ????????HSSFSheet?sheet?=?wb.createSheet("學生表一");???? ????????//?第三步,在sheet中添加表頭第0行,注意老版本poi對Excel的行數列數有限制short???? ????????HSSFRow?row?=?sheet.createRow((int)?0);???? ????????//?第四步,創建單元格,并設置值表頭?設置表頭居中???? ????????HSSFCellStyle?style?=?wb.createCellStyle();???? ????????style.setAlignment(HSSFCellStyle.ALIGN_CENTER);?//?創建一個居中格式???? ???? ????????HSSFCell?cell?=?row.createCell((short)?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("生日");???? ????????cell.setCellStyle(style);???? ???? ????????//?第五步,寫入實體數據?實際應用中這些數據從數據庫得到,???? ????????List?list?=?CreateSimpleExcelToDisk.getMember();???? ???? ????????for?(int?i?=?0;?i?<?list.size();?i++)???? ????????{???? ????????????row?=?sheet.createRow((int)?i?+?1);???? ????????????Member?stu?=?(Member)?list.get(i);???? ????????????//?第四步,創建單元格,并設置值???? ????????????row.createCell((short)?0).setCellValue((double)?stu.getCode());???? ????????????row.createCell((short)?1).setCellValue(stu.getName());???? ????????????row.createCell((short)?2).setCellValue((double)?stu.getAge());???? ????????????cell?=?row.createCell((short)?3);???? ????????????cell.setCellValue(new?SimpleDateFormat("yyyy-mm-dd").format(stu???? ????????????????????.getBirth()));???? ????????}???? ????????//?第六步,將文件存到指定位置???? ????????try???? ????????{???? ????????????FileOutputStream?fout?=?new?FileOutputStream("E:/Members.xls");???? ????????????wb.write(fout);???? ????????????fout.close();???? ????????}???? ????????catch?(Exception?e)???? ????????{???? ????????????e.printStackTrace();???? ????????}???? ????}???? }???? 替換第六步可實現下載?? [java]?view plain?copy //?第六步,下載excel?? ?????????? ????????OutputStream?out?=?null;???? ????????try?{???????? ????????????out?=?response.getOutputStream();???? ????????????String?fileName?=?"enroll.xls";//?文件名???? ????????????response.setContentType("application/x-msdownload");???? ????????????response.setHeader("Content-Disposition",?"attachment;?filename="???? ????????????????????????????????????????????????????+?URLEncoder.encode(fileName,?"UTF-8"));???? ????????????wb.write(out);???? ????????}?catch?(Exception?e)?{???? ????????????e.printStackTrace();???? ????????}?finally?{?????? ????????????try?{??????? ????????????????out.close();?????? ????????????}?catch?(IOException?e)?{?????? ????????????????e.printStackTrace();???? ????????????}?????? ????????}????? posted on 2017-12-19 18:31?遠方遙遠的路 閱讀(...) 評論(...) 編輯 收藏
?
http://download.csdn.net/detail/evangel_z/3895051
或者使用Maven倉庫管理,在pom文件添加坐標
? ? ? ? ? ? <dependency>
? ?<groupId>org.apache.poi</groupId>
? ?<artifactId>poi</artifactId>
? ?<version>3.15</version>
? ? ? ? ? ?</dependency>
2.Member.java ? 創建一個實體對象
[java]?view plain?copy3.CreateSimpleExcelToDisk.java
?
[java]?view plain?copy?
excel表格就被保存到指定位置了。
?
?
[java]?view plain?copy轉載于:https://www.cnblogs.com/hj1231/p/8067143.html
總結
以上是生活随笔為你收集整理的JAVA实现创建Excel表并导出(转发)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017.12.18
- 下一篇: 符号运算