1. <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>

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   创建一个实体对象

  1. package com.leyooe.common.bean.customizedproperty;
  2. import java.util.Date;
  3. public class Member{
  4. private Integer code;
  5. private String name;
  6. private Integer age;
  7. private Date birth;
  8. public Student(Integer code, String name, Integer age, Date birth) {
  9. super();
  10. this.code = code;
  11. this.name = name;
  12. this.age = age;
  13. this.birth = birth;
  14. }
  15. public Integer getCode() {
  16. return code;
  17. }
  18. public void setCode(Integer code) {
  19. this.code = code;
  20. }
  21. public String getName() {
  22. return name;
  23. }
  24. public void setName(String name) {
  25. this.name = name;
  26. }
  27. public Integer getAge() {
  28. return age;
  29. }
  30. public void setAge(Integer age) {
  31. this.age = age;
  32. }
  33. public Date getBirth() {
  34. return birth;
  35. }
  36. public void setBirth(Date birth) {
  37. this.birth = birth;
  38. }
  39. }

3.CreateSimpleExcelToDisk.java

  1. package com.leyooe.otw.api.file;
  2. import java.io.FileOutputStream;
  3. import java.text.SimpleDateFormat;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import org.apache.poi.hssf.usermodel.HSSFCell;
  7. import org.apache.poi.hssf.usermodel.HSSFCellStyle;
  8. import org.apache.poi.hssf.usermodel.HSSFRow;
  9. import org.apache.poi.hssf.usermodel.HSSFSheet;
  10. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  11. import com.leyooe.common.bean.customizedproperty.Member;
  12. public class CreateSimpleExcelToDisk
  13. {
  14. /**
  15. * @功能:手工构建一个简单格式的Excel
  16. */
  17. private static List<Member> getMember() throws Exception
  18. {
  19. List list = new ArrayList();
  20. SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
  21. Member user1 = new Member(1, "熊大", 24, df.parse("1993-08-28"));
  22. Member user2 = new Member(2, "熊二", 23, df.parse("1994-08-19"));
  23. Member user3 = new Member(3, "熊熊", 24, df.parse("1983-11-22"));
  24. list.add(user1);
  25. list.add(user2);
  26. list.add(user3);
  27. return list;
  28. }
  29. public static void main(String[] args) throws Exception
  30. {
  31. // 第一步,创建一个webbook,对应一个Excel文件
  32. HSSFWorkbook wb = new HSSFWorkbook();
  33. // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
  34. HSSFSheet sheet = wb.createSheet("学生表一");
  35. // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
  36. HSSFRow row = sheet.createRow((int) 0);
  37. // 第四步,创建单元格,并设置值表头 设置表头居中
  38. HSSFCellStyle style = wb.createCellStyle();
  39. style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
  40. HSSFCell cell = row.createCell((short) 0);
  41. cell.setCellValue("学号");
  42. cell.setCellStyle(style);
  43. cell = row.createCell((short) 1);
  44. cell.setCellValue("姓名");
  45. cell.setCellStyle(style);
  46. cell = row.createCell((short) 2);
  47. cell.setCellValue("年龄");
  48. cell.setCellStyle(style);
  49. cell = row.createCell((short) 3);
  50. cell.setCellValue("生日");
  51. cell.setCellStyle(style);
  52. // 第五步,写入实体数据 实际应用中这些数据从数据库得到,
  53. List list = CreateSimpleExcelToDisk.getMember();
  54. for (int i = 0; i < list.size(); i++)
  55. {
  56. row = sheet.createRow((int) i + 1);
  57. Member stu = (Member) list.get(i);
  58. // 第四步,创建单元格,并设置值
  59. row.createCell((short) 0).setCellValue((double) stu.getCode());
  60. row.createCell((short) 1).setCellValue(stu.getName());
  61. row.createCell((short) 2).setCellValue((double) stu.getAge());
  62. cell = row.createCell((short) 3);
  63. cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(stu
  64. .getBirth()));
  65. }
  66. // 第六步,将文件存到指定位置
  67. try
  68. {
  69. FileOutputStream fout = new FileOutputStream("E:/Members.xls");
  70. wb.write(fout);
  71. fout.close();
  72. }
  73. catch (Exception e)
  74. {
  75. e.printStackTrace();
  76. }
  77. }
  78. }

excel表格就被保存到指定位置了。

  1. 替换第六步可实现下载
    1. // 第六步,下载excel
    2. OutputStream out = null;
    3. try {
    4. out = response.getOutputStream();
    5. String fileName = "enroll.xls";// 文件名
    6. response.setContentType("application/x-msdownload");
    7. response.setHeader("Content-Disposition", "attachment; filename="
    8. + URLEncoder.encode(fileName, "UTF-8"));
    9. wb.write(out);
    10. } catch (Exception e) {
    11. e.printStackTrace();
    12. } finally {
    13. try {
    14. out.close();
    15. } catch (IOException e) {
    16. e.printStackTrace();
    17. }
    18. }

JAVA实现创建Excel表并导出(转发)的更多相关文章

  1. HSSFWorkBooK用法 —Excel表的导出和设置

    HSSFWorkBooK用法 —Excel表的导出和设置 2013年02月21日 ⁄ 综合 ⁄ 共 9248字 ⁄ 字号 小 中 大 ⁄ 评论关闭 public ActionResult excelP ...

  2. POI框架实现创建Excel表、添加数据、读取数据

    public class TestPOI2Excel {//创建2003版本Excel用此方法 @Test public void testWrite03Excel() throws Exceptio ...

  3. java POI创建Excel示例(xslx和xsl区别 )

    Java用来处理office类库有很多,其中POI就是比较出名的一个,它是apache的类库,现在版本到了3.10,也就是2014年2月8号这个版本. 在处理PPT,Excel和Word前,需要导入以 ...

  4. HSSFWorkBooK用法 ---Excel表的导出和设置

    public ActionResult excelPrint() { HSSFWorkbook workbook = new HSSFWorkbook();// 创建一个Excel文件 HSSFShe ...

  5. Java版将EXCEL表数据导入到数据库中

    1.采用第三方控件JXL实现 try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls ...

  6. java+jxls利用excel模版进行导出

    大多时候会出现需要导出excel的功能,利用poi可以实现简单的导出,可以说poi的功能非常强大可以做到细节的定制化操作,但相对于在office操作excel,利用poi完全生成excel会显得非常复 ...

  7. 如果从excel表中导出insert-sql

    =CONCATENATE("INSERT INTO p_act_lottery(actId,status,grantWay,createTime,invalidTime,amount,pri ...

  8. 【ITOO 1】将List数据导出Excel表

    需求描述:在课表导入的时候,首先给用户提供模板(excel),然后将用户填写好的数据读取到list集合中.再进行判空处赋值处理,以及去重处理.这篇博客,主要介绍读取excel表和导出excel表的方法 ...

  9. 使用Java创建Excel,并添加内容

    使用Java创建Excel,并添加内容 一.依赖的Jar包 jxl.jar,使用jxl操作Excel Jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Ex ...

随机推荐

  1. [Codeforces 425A] Sereja and Swaps

    [题目链接] https://codeforces.com/contest/425/problem/A [算法] 枚举最终序列的左端点和右端点 , 尝试用这段区间中小的数与区间外大的数交换 时间复杂度 ...

  2. Could not find modernizr-2.6.2 in any of the sources GitLab: API is not accessible

    Could not find modernizr-2.6.2 in any of the sources GitLab: API is not accessible bundle exec rake ...

  3. CodeForces 446A DZY Loves Sequences (DP+暴力)

    题意:给定一个序列,让你找出一个最长的序列,使得最多改其中的一个数,使其变成严格上升序列. 析:f[i] 表示以 i 结尾的最长上升长度,g[i] 表示以 i 为开始的最长上升长度,这两个很容易就求得 ...

  4. visual studio使用dos命令在生成项目时复制文件到指定目录

    本人使用软件:vs2015 拷贝“项目1”的 bin目录 下, 项目配置的名称(“Release”,“Debug”)目录下,所有内容到“项目2”输出目录(存在直接覆盖): xcopy $(Soluti ...

  5. P3402 【模板】可持久化并查集

    传送门 //minamoto #include<bits/stdc++.h> using namespace std; #define getc() (p1==p2&&(p ...

  6. php insteadof 作用

    PHP5的另一个新成员是instdnceof关键字.使用这个关键字可以确定一个对象是类的实例.类的子类,还是实现了某个特定接口,并进行相应的操作.在某些情况下,我们希望确定某个类是否特定的类型,或者是 ...

  7. 【计蒜客习题】 取石子游戏(gcd)

    问题描述 蒜头君和花椰妹在玩一个游戏,他们在地上将 n 颗石子排成一排,编号为 1 到 n.开始时,蒜头君随机取出了 2 颗石子扔掉,假设蒜头君取出的 2 颗石子的编号为 a, b.游戏规则如下,蒜头 ...

  8. KMP POJ 2406 Power Strings

    题目传送门 /* 题意:一个串有字串重复n次产生,求最大的n KMP:nex[]的性质应用,感觉对nex加深了理解 */ /************************************** ...

  9. Git管理多个远程分支

    在此目录下使用GIT要注意一下几点: 因为这个目录是管理远程多个不同的分支的项目,所以使用GIT之前确认一下几点: 打开git bash,使用命令:git config –list查看目前本地的目录文 ...

  10. magento Grid 显示下拉菜单属性

    在使用grid时自己新建了几个属性,然后其中有一个是下拉单,即deal_status protected function _prepareCollection() { $collection = M ...