- 浏览: 241786 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
sweed0:
为何每一段代码都重复一次呢?
spring注解实例二 -
Gary_Huangpf:
- - 插件报错啊
Ext前台分页 -
ddvk2007:
版主 我想請問你所說的mapreduce是hadoop的還是g ...
MapReduce中的Shuffle和Sort分析 -
人可木:
好问章,楼主写的相当详细。。。多谢。。。
findbugs插件的安装与应用 -
hautbbs:
按照博主的方法启动调试出现jvm terminated.Ex ...
10分钟学会使用MyEclipse断点调试js
通过java,要将数据写入到excel文件,有两种比较简单的方式可以选择。
1.一种是POI方式。
2.一种是JXl方式。
于是,我选择了POI方式,按照POI的方式,一天的时间将任务完美的完成了。
完成任务后,我自己又总结了一下,这是我自己学习总结的例子,接下来我会将我的感受和完整代码分享给大家。
我会分别介绍POI和jxl方式。
一。使用POI操作excel.
目标:将Oracle数据库查询到的大量数据导入excel文件。
1.使用此方式,首先需要下载poi-2.5.1.jar文件。这个官网有提供。
2.将poi-2.5.1.jar导入工程。
3.接下来就可以放心写你的Java代码就可以了。
- <PRE class=java name="code">import org.apache.poi.hssf.usermodel.HSSFCell;
- import org.apache.poi.hssf.usermodel.HSSFCellStyle;
- import org.apache.poi.hssf.usermodel.HSSFDataFormat;
- import org.apache.poi.hssf.usermodel.HSSFRow;
- import org.apache.poi.hssf.usermodel.HSSFSheet;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.hssf.util.HSSFColor;
- import common.Utils;
- public class ToExcel {
- /**
- * poi方式
- * @author
- */
- public void poiToExcel() {
- FileOutputStream fout = null;
- try {
- fout = new FileOutputStream(new File("file/data.xls"));
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
- }
- // 创建工作簿
- HSSFWorkbook workbook = new HSSFWorkbook();
- // 由工作簿创建工作表
- HSSFSheet sheet = workbook.createSheet();
- // 创建行
- HSSFRow row = null;
- row = sheet.createRow(0);
- // 创建单元格,设置每个单元格的值(作为表头)
- HSSFCell cell = null;
- cell = row.createCell(0);
- cell.setCellValue("编号");
- cell = row.createCell(1);
- cell.setCellValue("姓名");
- cell = row.createCell(2);
- cell.setCellValue("出生年月");
- // totalList存放的是一条条完整的记录
- List totalList = Utils.getAllDatas();
- // list存放的是每一条记录的所有列
- List l = null;
- if (totalList != null) {
- for (int i = 0; i < totalList.size(); i++) {
- l = (List) totalList.get(i);
- row = sheet.createRow(i + 1);
- for (int j = 0; j < l.size(); j++) {
- cell = row.createCell(j);
- cell.setCellValue(l.get(j).toString());
- }
- }
- }
- try {
- workbook.write(fout);
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- fout.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- /**
- * poi控制单元格样式
- */
- public void setCellStyle() {
- FileOutputStream out = null;
- try {
- out = new FileOutputStream(new File("file/data2.xls"));
- HSSFWorkbook workbook = new HSSFWorkbook();
- HSSFSheet sheet = workbook.createSheet();
- HSSFRow row = sheet.createRow(0);
- HSSFCell cell = row.createCell(0);
- cell.setCellValue("hello");
- // 创建HSSFCellStyle对象
- HSSFCellStyle style = workbook.createCellStyle();
- // 设置此样式(样式属性)
- style.setFillBackgroundColor(HSSFColor.BLUE.index2);
- workbook.write(out);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if (out != null) {
- try {
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- /**
- *
- * PIO设置日期格式
- */
- public void setDateFormat() {
- FileOutputStream fout = null;
- try {
- fout = new FileOutputStream(new File("file/data3.xls"));
- HSSFWorkbook workbook = new HSSFWorkbook();
- HSSFSheet sheet = workbook.createSheet();
- HSSFRow row = sheet.createRow(0);
- HSSFCell cell = row.createCell(0);
- cell.setCellValue(new Date());
- // 设置一种数据格式
- HSSFCellStyle cellstyle = workbook.createCellStyle();
- cellstyle.setDataFormat(HSSFDataFormat
- .getBuiltinFormat("m/d/yy h:mm"));
- // 设置此单元格日期样式
- cell.setCellStyle(cellstyle);
- workbook.write(fout);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- fout.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
其实大家看到,使用poi方式将数据写入excel的步骤就是这样的。(完全按照我们打开一个.xls文件,写入内容的步骤 来操作即可) 1.首先创建excel工作簿。 2.在这个工作簿上创建工作表 3.在这个工作表中创建行。 4.每一行添加单元格,每一个单元格加入值就可以了。
综上所述,我的代码部分也写了详细的注释,大家应该很容易看明白的。方法poiToExcel()就可以成功的将从数据库查询到的数据写入excel文件了。
如果读者还需要设置一些额外的东西,例如excel的样式,那么我们使用HSSFCell类即可。如上的方法setCellStyle()即简单的设置了一下样式。(当然,因为我的主管给我安排的任务并没有要求设置样式,所以,并没有去设置太多东西),还有就是一个关于日期的设置,也是比较繁琐的,通过上述的方法setDateFormat()可以让日期正确的显示在excel中。
下面是我查询数据用到的Utils,也供大家参考。
- package common;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.List;
- public class Utils {
- /**
- * 查询表test中的所有数据,将返回的数据全部放入List集合
- * @return
- */
- public static List getAllDatas(){
- List totalList=new ArrayList();
- Connection conn=null;
- Statement stm=null;
- ResultSet rs=null;
- conn=ConnectionFactory.getOracleConnection();
- String sql="select id ,name,birthday from test";
- try {
- stm=conn.createStatement();
- rs=stm.executeQuery(sql);
- List list=null;
- while(rs.next()){
- list=new ArrayList();
- list.add(rs.getObject(1));
- list.add(rs.getObject(2));
- list.add(rs.getObject(3));
- totalList.add(list);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return totalList;
- }
- }
发表评论
-
解析网页利器组合(正则、jsoup、beanshell、dozer)资源
2012-05-31 16:09 1423由于项目需要使用java正则、jsoup、dozer、bean ... -
Java正则表达式(二)
2012-05-31 15:47 830Matcher类: 使用Matcher类,最重要的 ... -
Java正则表达式(一)
2012-05-31 15:46 813正则表达式在处理文本方面用处非常大,最早像在Perl和awk语 ... -
Java正则表达式详解
2012-05-31 15:45 802如果你曾经用过Perl或 ... -
理解String与String.intern()
2012-01-05 15:44 8061. 首先String不 ... -
StringUtils工具类的常用方法
2011-11-25 15:24 906StringUtils 方法的操作对象是 java.lan ... -
主题:深入分析 Java 中的中文编码问题
2011-11-11 09:06 962几种常见的编码格式 ... -
Java中的乱码问题
2011-09-01 09:35 1069Java中乱码问题很常见,原因也多种多样,这里做一个总结, ... -
java反射机制详解 及 Method.invoke解释
2011-08-26 11:40 1641JAVA反射机制是在运行状态中,对于任意一个类,都能够 ... -
java编程中'为了性能'一些尽量做到的地方
2011-08-25 11:42 839最近的机器内存又爆满了,出了新增机器内存外,还应该好好re ... -
利用java反射原理写了一个简单赋值和取值通用类
2011-08-22 09:50 2417由于项目的实际需要,所以利用java反射原理写了一个简单给be ... -
Java实现给图片添加水印
2011-08-22 09:41 2062周末在家上围脖,看到sina围脖上图片都有水印,想到Jav ... -
java获取当前类的绝对路径
2011-08-03 10:41 1158在jsp和class文件中调用的相对路径不同。在jsp里, ... -
深入浅出URL编码
2011-08-03 10:30 757深入浅出URL编码 版权声明:如有转载请求,请注明出 ... -
URLConnection的连接、超时、关闭用法总结
2011-08-03 10:25 1281Java中可以使用HttpURLConnection来 ... -
Apache Rewrite实现URL的跳转和域名跳转
2011-07-28 11:31 1063Rewirte主要的功能就是实现URL的跳转,它的正则表达式是 ... -
文件、流总结
2011-07-27 09:31 13771、File类:File类位于java ... -
java对cookie的操作(转)
2011-07-18 15:56 960java对cookie的操作比较简单,主要介绍下建立coo ... -
java泛型
2011-07-18 15:42 801在Java SE1.5中,增加了一个新的特性:泛型(日本语 ... -
j2ee学习笔记——初试ssh之泛型通用dao(转)
2011-07-18 15:39 880在做项目的时候每次都为每个POJO实体写一个对应的DAO很 ...
相关推荐
SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel
这是我在公司实习的时候研究的课题,主要将大量数据从数据库导出到Excel文件。(一般是值Excel2007及以后版本)因为Excel2003及以前的版本中能保持的数据量是有限制的。Excel2007及以后版本中的数据能保持100万条...
Java使用POI将Mongo数据库数据导出到Excel文件;包含java 测试文件和各种jar包 ,bson-3.4.2.jar ,mongodb-driver-3.4.2.jar,mongodb-driver-core-3.4.2.jar,poi-3.9-20121203.jar
JAVA实现数据库数据导入导出到Excel(POI)所需jar包
使用poi从数据库导出excel表的示例
基于mybatis和poi 将数据库数据导出到excel.............
spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库
Struts2 poi 实现从数据库中导出excel表
应客户要求,导出数据库中的数据为Excel,只在一个Sheet中,Excel中的内容要与数据库里的内容一致(主要针对日期型数据)。 由于之前接触过POI,对POI的一些特性还是有一定的了解的,因此顺其自然的用POI去解决这...
用java的poi和反射技术,把数据库的数据导出到excel的操作。直接可以拷贝到项目中使用。
java-poi导入excel文件内容到数据库,导出数据库内容到本地excel
获取通话记录文件格式vcf的转化,JAVA实现数据库数据导入/导出到Excel(POI)
该文件中包含了所有java项目中针对excel导入导出所需的jar包集合。 -------------------------------------- 将该zip解压后,将jar...应用场景:如 excel格式对账单导出,将数据库数据导出到excel中(带样式字体等)。
一个POI导出Excel万级数据分页实现 解决内存溢出问题 完整的 project demo 有数据库dmp文件
利用POI实现数据库导出Excel,压缩文件里包括例子源代码、poi.jar包、文档代码(有注释)
jsp通过POI将数据从数据库导出至EXCEL,可与CSDN中资源 【jsp中使用poi导入导出Excel http://download.csdn.net/detail/guan_xiu/5978843】对比学习; 前者是使用最原始的方法jsp+jdbc+poi; 后者加入了struts处理...
1、txt文件导入到mysql数据库 演示此功能只需运行importTest下的DataGather类 2、数据导出到excel表中 演示此功能需要在tomcat里面部署
springboot+mybatis+poi 实现excel导入导出操作
该POI导出是一个接口,分享了对应的实体类。我这边用的是maven管理,所以用直接导入jar包的童鞋需要自己去下载对应的jar包。我这边只分享了对应的pom文档
主要是springboot+myBatis+poi+mysql的使用,从数据库查询到结果集导出excel到本地,从本地中的excel文件导入到数据库中。