一,JExcelAPI与Apache POI两者对比
  1、JExcelAPI不适合商业应用,它都是会莫名其妙的读不出来数据。
  2、Apache POI是一纯Java的实现,不仅能读微软的Excel还可以读Open Office的,新版HSSF3.0还添加了读取Power Point的功能。总之是一种非常稳定,强大的实现。推荐使用。


Jexcelapi的使用参考:http://blog.csdn.net/yfhdsz/archive/2006/10/30/1356670.aspx

apache POI 参考:http://blog.csdn.net/yuansicau/archive/2006/08/31/1150046.aspx
关键是要理解
 java读取excel文件的顺序是:
Excel文件->工作表->行->单元格 对应到POI中,为:workbook->sheet->row->cell
注意:
 注意:   
          1.sheet, 以0开始,以workbook.getNumberOfSheets()-1结束 
   2.row, 以0开始(getFirstRowNum),以getLastRowNum结束 
   3.cell, 以0开始(getFirstCellNum),以getLastCellNum结束, 
          结束的数目不知什么原因与显示的长度不同,可能会偏长

1.首先下载poi-3.6-20091214.jar,下载地址如下:

http://download.csdn.net/detail/evangel_z/3895051

2.Student.java

  1. import java.util.Date;
  2. public class Student
  3. {
  4. private int id;
  5. private String name;
  6. private int age;
  7. private Date birth;
  8. public Student()
  9. {
  10. }
  11. public Student(int id, String name, int age, Date birth)
  12. {
  13. this.id = id;
  14. this.name = name;
  15. this.age = age;
  16. this.birth = birth;
  17. }
  18. public int getId()
  19. {
  20. return id;
  21. }
  22. public void setId(int id)
  23. {
  24. this.id = id;
  25. }
  26. public String getName()
  27. {
  28. return name;
  29. }
  30. public void setName(String name)
  31. {
  32. this.name = name;
  33. }
  34. public int getAge()
  35. {
  36. return age;
  37. }
  38. public void setAge(int age)
  39. {
  40. this.age = age;
  41. }
  42. public Date getBirth()
  43. {
  44. return birth;
  45. }
  46. public void setBirth(Date birth)
  47. {
  48. this.birth = birth;
  49. }
  50. }

3.CreateSimpleExcelToDisk.java

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

Java 实现导出excel表 POI相关推荐

  1. java 动态导出excel表单 无模板文件下载

    java 动态导出excel表单 无模板文件下载 public ResponseEntity<byte[]> exportStanding(@PathVariable Long signu ...

  2. java 动态导出excel表单 无模板本地生成

    java 动态导出excel表单 无模板本地生成 这里使用的是alibaba的公共类excelWriter,注意在pom文件中要引入easyExcel的依赖 public void exportExc ...

  3. Java 导出excel表 POI

    1.首先下载poi-3.6-20091214.jar,下载地址如下: http://download.csdn.net/detail/evangel_z/3895051 1.建立一个实体类 1 imp ...

  4. java实现导出excel表_java实现导出网页中的表格为Excel

    将网页中的table数据,导出到excel表格,可以使用java POI实现. java poi是java中操作excel的工具,支持excel的导入与导出,一般有三种形式: 1.HSSFWorkbo ...

  5. Java web导出excel文件 - poi

    Javaweb项目加入导出excel功能只需要2个步骤: 1.在需要的controller里面加入下面接口代码: /*** excel导出controller层代码** @param params* ...

  6. JAVA实现创建Excel表并导出(转发)

    JAVA实现创建Excel表并导出(转发) 最近在做毕设,要求导出word,excel,pdf,这是excel. 原文是:http://blog.csdn.net/u014621859/article ...

  7. java 列表数据List通过模板导出excel表和word表

    1.maven需要的jar包 <!-- exl导出 --> <dependency><groupId>net.sf.jxls</groupId>< ...

  8. POI封装工具easyexcel导出EXCEL表样式设置

    POI封装工具easyexcel导出EXCEL表样式设置 java中对Office操作比较好的工具是POI,但POI在导出数据量较大的情况下很容易因内存占用过大,而出错,阿里巴巴推出的easyexce ...

  9. 使用poi导出excel表基础

    使用poi导出excel表基础. 本人使用的是ssm的框架.使用了mybatis的逆向工程.数据的获取方法很多,如果用servlet大同小异. 在页面中设置一个按钮 为按钮添加点击事件. <bu ...

  10. java导出数据为乱码_传参导出Excel表乱码问题解决方法

    业务场景 先描述一下业务场景,要实现的功能是通过搜索框填写参数,然后点击按钮搜索数据,将搜索框的查询参数获取,附加在链接后面,调导Excel表接口,然后实现导出Excel功能.其实做导Excel表功能 ...

最新文章

  1. SpringBoot整合JDBC、整合Druid数据源详解教程
  2. 某程序员炫耀:因长得太帅被女领导追求,三年就提拔到总监!程序员搞技术没用,健身护肤才是王道!...
  3. 联合国发布AI报告:自动化和AI对亚洲有巨大影响【附报告下载】
  4. Spring Hibernate使用TransactionInterceptor声明式事务配置
  5. 数字经济论坛、阿里研究院、毕马威联合发布《2018全球数字经济发展指数》
  6. 【通知】3月第三周直播预告,模型精简前沿技术,人脸分析与编辑,图像风格化...
  7. mysql-多表查询-内联查询左查询
  8. request和response的中文乱码问题
  9. [学习笔记]拉格朗日中值定理
  10. STM32用IAR调试出现Error[Pe020]: identifier FILE is undefined 解决方法
  11. 国务院办公厅关于2015年部分节假日安排的通知
  12. 极简图床中文教程-七牛云CDN永久免费图片外链
  13. 手游脚本_开发与迭代
  14. JAVA权重算法(如Dubbo的负载均衡权重)
  15. 腾讯云修改邮箱登录方式
  16. A.Jelly (简单BFS三维)
  17. 行业洞察 | 你的车载语音助手足够Smart吗?
  18. android 百度地图切换城市地图,android百度地图:卫星地图普通地图交通地图切换...
  19. 软件测试慕课版学习总结—第六章
  20. 辽大 计算机二级培训,辽宁大学-中软国际校企合作班 学长学姐对你说~第二弹...

热门文章

  1. 关于用密码保护 macOS 文件夹的方法
  2. 苹果Mac修改图标的一种简单方法
  3. Mac上如何在“系统信息”中查看是否兼容新产品?
  4. ubuntu server 18.04 和 20.04 安装 RabbitMQ
  5. ubuntu 18.04 安装 LNMP
  6. Android零基础入门第56节:翻转视图ViewFlipper打造引导页和轮播图
  7. 百度网盘图片直链的php解析代码
  8. Illustrator 教程,如何在 Illustrator 中添加图像?
  9. 苹果Mac最智能的javascript前端编辑器:WebStorm
  10. 堪比ps:Affinity Photo for mac(专业修图软件)