Java 实现导出excel表 POI
一,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
- import java.util.Date;
- public class Student
- {
- private int id;
- private String name;
- private int age;
- private Date birth;
- public Student()
- {
- }
- public Student(int id, String name, int age, Date birth)
- {
- this.id = id;
- this.name = name;
- this.age = age;
- this.birth = birth;
- }
- public int getId()
- {
- return id;
- }
- public void setId(int id)
- {
- this.id = id;
- }
- public String getName()
- {
- return name;
- }
- public void setName(String name)
- {
- this.name = name;
- }
- public int getAge()
- {
- return age;
- }
- public void setAge(int age)
- {
- this.age = age;
- }
- public Date getBirth()
- {
- return birth;
- }
- public void setBirth(Date birth)
- {
- this.birth = birth;
- }
- }
3.CreateSimpleExcelToDisk.java
- 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;
- public class CreateSimpleExcelToDisk
- {
- /**
- * @功能:手工构建一个简单格式的Excel
- */
- private static List<Student> getStudent() throws Exception
- {
- List list = new ArrayList();
- SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
- Student user1 = new Student(1, "张三", 16, df.parse("1997-03-12"));
- Student user2 = new Student(2, "李四", 17, df.parse("1996-08-12"));
- Student user3 = new Student(3, "王五", 26, df.parse("1985-11-12"));
- 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.getStudent();
- for (int i = 0; i < list.size(); i++)
- {
- row = sheet.createRow((int) i + 1);
- Student stu = (Student) list.get(i);
- // 第四步,创建单元格,并设置值
- row.createCell((short) 0).setCellValue((double) stu.getId());
- 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:/students.xls");
- wb.write(fout);
- fout.close();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
Java 实现导出excel表 POI相关推荐
- java 动态导出excel表单 无模板文件下载
java 动态导出excel表单 无模板文件下载 public ResponseEntity<byte[]> exportStanding(@PathVariable Long signu ...
- java 动态导出excel表单 无模板本地生成
java 动态导出excel表单 无模板本地生成 这里使用的是alibaba的公共类excelWriter,注意在pom文件中要引入easyExcel的依赖 public void exportExc ...
- Java 导出excel表 POI
1.首先下载poi-3.6-20091214.jar,下载地址如下: http://download.csdn.net/detail/evangel_z/3895051 1.建立一个实体类 1 imp ...
- java实现导出excel表_java实现导出网页中的表格为Excel
将网页中的table数据,导出到excel表格,可以使用java POI实现. java poi是java中操作excel的工具,支持excel的导入与导出,一般有三种形式: 1.HSSFWorkbo ...
- Java web导出excel文件 - poi
Javaweb项目加入导出excel功能只需要2个步骤: 1.在需要的controller里面加入下面接口代码: /*** excel导出controller层代码** @param params* ...
- JAVA实现创建Excel表并导出(转发)
JAVA实现创建Excel表并导出(转发) 最近在做毕设,要求导出word,excel,pdf,这是excel. 原文是:http://blog.csdn.net/u014621859/article ...
- java 列表数据List通过模板导出excel表和word表
1.maven需要的jar包 <!-- exl导出 --> <dependency><groupId>net.sf.jxls</groupId>< ...
- POI封装工具easyexcel导出EXCEL表样式设置
POI封装工具easyexcel导出EXCEL表样式设置 java中对Office操作比较好的工具是POI,但POI在导出数据量较大的情况下很容易因内存占用过大,而出错,阿里巴巴推出的easyexce ...
- 使用poi导出excel表基础
使用poi导出excel表基础. 本人使用的是ssm的框架.使用了mybatis的逆向工程.数据的获取方法很多,如果用servlet大同小异. 在页面中设置一个按钮 为按钮添加点击事件. <bu ...
- java导出数据为乱码_传参导出Excel表乱码问题解决方法
业务场景 先描述一下业务场景,要实现的功能是通过搜索框填写参数,然后点击按钮搜索数据,将搜索框的查询参数获取,附加在链接后面,调导Excel表接口,然后实现导出Excel功能.其实做导Excel表功能 ...
最新文章
- SpringBoot整合JDBC、整合Druid数据源详解教程
- 某程序员炫耀:因长得太帅被女领导追求,三年就提拔到总监!程序员搞技术没用,健身护肤才是王道!...
- 联合国发布AI报告:自动化和AI对亚洲有巨大影响【附报告下载】
- Spring Hibernate使用TransactionInterceptor声明式事务配置
- 数字经济论坛、阿里研究院、毕马威联合发布《2018全球数字经济发展指数》
- 【通知】3月第三周直播预告,模型精简前沿技术,人脸分析与编辑,图像风格化...
- mysql-多表查询-内联查询左查询
- request和response的中文乱码问题
- [学习笔记]拉格朗日中值定理
- STM32用IAR调试出现Error[Pe020]: identifier FILE is undefined 解决方法
- 国务院办公厅关于2015年部分节假日安排的通知
- 极简图床中文教程-七牛云CDN永久免费图片外链
- 手游脚本_开发与迭代
- JAVA权重算法(如Dubbo的负载均衡权重)
- 腾讯云修改邮箱登录方式
- A.Jelly (简单BFS三维)
- 行业洞察 | 你的车载语音助手足够Smart吗?
- android 百度地图切换城市地图,android百度地图:卫星地图普通地图交通地图切换...
- 软件测试慕课版学习总结—第六章
- 辽大 计算机二级培训,辽宁大学-中软国际校企合作班 学长学姐对你说~第二弹...
热门文章
- 关于用密码保护 macOS 文件夹的方法
- 苹果Mac修改图标的一种简单方法
- Mac上如何在“系统信息”中查看是否兼容新产品?
- ubuntu server 18.04 和 20.04 安装 RabbitMQ
- ubuntu 18.04 安装 LNMP
- Android零基础入门第56节:翻转视图ViewFlipper打造引导页和轮播图
- 百度网盘图片直链的php解析代码
- Illustrator 教程,如何在 Illustrator 中添加图像?
- 苹果Mac最智能的javascript前端编辑器:WebStorm
- 堪比ps:Affinity Photo for mac(专业修图软件)