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. 异常机制及throw与throws的区别(转)

    异常机制及throw与throws的区别 分类: Java2008-11-14 16:08 9672人阅读 评论(5) 收藏 举报 exceptionstringjavafunclass编译器 Jav ...

  2. HDU 4850 Wow! Such String!

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4850 题意:给定一个N(1 ≤ N ≤ 500000),构造一个长度为N的小写字母字符串,要求所有长度大于 ...

  3. python-----复制文件夹

    python复制文件夹有两种方法: 1.使用shutil模块:(要保存的路径必须事先不存在) #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time ...

  4. 洛谷 P1969 积木大赛 —— 水题

    题目:https://www.luogu.org/problemnew/show/P1969 看每个高度和前面的关系即可. 代码如下: #include<iostream> #includ ...

  5. 【158】◀▶ Linux-Bash学习

    鸟哥的 Linux 私房菜      Linux 的 26 个命令      Shell 脚本教程      Linux 命令大全 目录——按文件顺序: echo:显示变量内容 printf:格式化输 ...

  6. 给网站添加免费Https SSL证书

    基于阿里云的云盾证书服务,系统是centos6.8,web服务器是nginx1.8.0,简单记录下踩坑情况. 申请证书 登录阿里云控制台→安全(云盾)→证书服务→购买证书(https://common ...

  7. Android 属性系统 Property service 设定分析 (转载)

    转自:http://blog.csdn.net/andyhuabing/article/details/7381879 Android 属性系统 Property service 设定分析 在Wind ...

  8. Objective-C NSObject与运行时系统

    创建: 2018/01/26 完成: 2018/02/02 遗留: TODO  NSObject  运行时系统 程序运行时候起作用的系统? NSObject是运行时系统的接口(API)  属性 只有一 ...

  9. bzoj 1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛【dp+树状数组+hash】

    最长上升子序列.虽然数据可以直接n方但是另写了个nlogn的 转移:f[i]=max(f[j]+1)(a[j]<a[i]) O(n^2) #include<iostream> #in ...

  10. P5043 【模板】树同构([BJOI2015]树的同构)

    传送门 把所有的树给哈希起来就好了 具体的方法是一个节点的哈希值就是它所有儿子的哈希值给哈希起来,然后以每个节点为根算出它作为根节点的哈希值.那么把每棵树的哈希值排个序,与之前的比较就好了 注意把儿子 ...