`
huanglz19871030
  • 浏览: 248894 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

poi方式将数据库中的数据导出到execl文件

阅读更多

 通过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代码就可以了。
      

Java代码 复制代码
  1. <PRE class=java name="code">import org.apache.poi.hssf.usermodel.HSSFCell;   
  2. import org.apache.poi.hssf.usermodel.HSSFCellStyle;   
  3. import org.apache.poi.hssf.usermodel.HSSFDataFormat;   
  4. import org.apache.poi.hssf.usermodel.HSSFRow;   
  5. import org.apache.poi.hssf.usermodel.HSSFSheet;   
  6. import org.apache.poi.hssf.usermodel.HSSFWorkbook;   
  7. import org.apache.poi.hssf.util.HSSFColor;   
  8.   
  9. import common.Utils;   
  10.   
  11. public class ToExcel {   
  12.     /**  
  13.      * poi方式   
  14.      * @author 
  15.      */  
  16.     public void poiToExcel() {   
  17.         FileOutputStream fout = null;   
  18.         try {   
  19.             fout = new FileOutputStream(new File("file/data.xls"));   
  20.         } catch (FileNotFoundException e1) {   
  21.             e1.printStackTrace();   
  22.         }   
  23.         // 创建工作簿   
  24.         HSSFWorkbook workbook = new HSSFWorkbook();   
  25.   
  26.         // 由工作簿创建工作表   
  27.         HSSFSheet sheet = workbook.createSheet();   
  28.   
  29.         // 创建行   
  30.         HSSFRow row = null;   
  31.         row = sheet.createRow(0);   
  32.   
  33.         // 创建单元格,设置每个单元格的值(作为表头)   
  34.         HSSFCell cell = null;   
  35.         cell = row.createCell(0);   
  36.         cell.setCellValue("编号");   
  37.         cell = row.createCell(1);   
  38.         cell.setCellValue("姓名");   
  39.         cell = row.createCell(2);   
  40.         cell.setCellValue("出生年月");   
  41.         // totalList存放的是一条条完整的记录   
  42.         List totalList = Utils.getAllDatas();   
  43.         // list存放的是每一条记录的所有列   
  44.         List l = null;   
  45.         if (totalList != null) {   
  46.   
  47.             for (int i = 0; i < totalList.size(); i++) {   
  48.                 l = (List) totalList.get(i);   
  49.                 row = sheet.createRow(i + 1);   
  50.   
  51.                 for (int j = 0; j < l.size(); j++) {   
  52.                     cell = row.createCell(j);   
  53.                     cell.setCellValue(l.get(j).toString());   
  54.                 }   
  55.   
  56.             }   
  57.         }   
  58.   
  59.         try {   
  60.             workbook.write(fout);   
  61.   
  62.         } catch (IOException e) {   
  63.   
  64.             e.printStackTrace();   
  65.         } finally {   
  66.             try {   
  67.                 fout.close();   
  68.             } catch (IOException e) {   
  69.                 e.printStackTrace();   
  70.             }   
  71.         }   
  72.   
  73.     }   
  74.   
  75.     /**  
  76.      * poi控制单元格样式  
  77.      */  
  78.     public void setCellStyle() {   
  79.         FileOutputStream out = null;   
  80.         try {   
  81.             out = new FileOutputStream(new File("file/data2.xls"));   
  82.             HSSFWorkbook workbook = new HSSFWorkbook();   
  83.             HSSFSheet sheet = workbook.createSheet();   
  84.             HSSFRow row = sheet.createRow(0);   
  85.             HSSFCell cell = row.createCell(0);   
  86.             cell.setCellValue("hello");   
  87.             // 创建HSSFCellStyle对象   
  88.   
  89.             HSSFCellStyle style = workbook.createCellStyle();   
  90.             // 设置此样式(样式属性)   
  91.             style.setFillBackgroundColor(HSSFColor.BLUE.index2);   
  92.             workbook.write(out);   
  93.         } catch (FileNotFoundException e) {   
  94.             e.printStackTrace();   
  95.         } catch (IOException e) {   
  96.             e.printStackTrace();   
  97.         } finally {   
  98.             if (out != null) {   
  99.                 try {   
  100.                     out.close();   
  101.                 } catch (IOException e) {   
  102.                     e.printStackTrace();   
  103.                 }   
  104.             }   
  105.         }   
  106.   
  107.     }   
  108.   
  109.     /**  
  110.      *   
  111.      * PIO设置日期格式  
  112.      */  
  113.     public void setDateFormat() {   
  114.         FileOutputStream fout = null;   
  115.         try {   
  116.             fout = new FileOutputStream(new File("file/data3.xls"));   
  117.             HSSFWorkbook workbook = new HSSFWorkbook();   
  118.             HSSFSheet sheet = workbook.createSheet();   
  119.             HSSFRow row = sheet.createRow(0);   
  120.             HSSFCell cell = row.createCell(0);   
  121.             cell.setCellValue(new Date());   
  122.   
  123.             // 设置一种数据格式   
  124.             HSSFCellStyle cellstyle = workbook.createCellStyle();   
  125.             cellstyle.setDataFormat(HSSFDataFormat   
  126.                     .getBuiltinFormat("m/d/yy h:mm"));   
  127.   
  128.             // 设置此单元格日期样式   
  129.             cell.setCellStyle(cellstyle);   
  130.             workbook.write(fout);   
  131.         } catch (FileNotFoundException e) {   
  132.             e.printStackTrace();   
  133.         } catch (IOException e) {   
  134.             e.printStackTrace();   
  135.         } finally {   
  136.             try {   
  137.                 fout.close();   
  138.             } catch (IOException e) {   
  139.                 e.printStackTrace();   
  140.             }   
  141.         }   
  142.   
  143.     }   
      其实大家看到,使用poi方式将数据写入excel的步骤就是这样的。(完全按照我们打开一个.xls文件,写入内容的步骤  来操作即可)
      1.首先创建excel工作簿。
      2.在这个工作簿上创建工作表
      3.在这个工作表中创建行。
      4.每一行添加单元格,每一个单元格加入值就可以了。

      综上所述,我的代码部分也写了详细的注释,大家应该很容易看明白的。方法poiToExcel()就可以成功的将从数据库查询到的数据写入excel文件了。

     如果读者还需要设置一些额外的东西,例如excel的样式,那么我们使用HSSFCell类即可。如上的方法setCellStyle()即简单的设置了一下样式。(当然,因为我的主管给我安排的任务并没有要求设置样式,所以,并没有去设置太多东西),还有就是一个关于日期的设置,也是比较繁琐的,通过上述的方法setDateFormat()可以让日期正确的显示在excel中。

 

   下面是我查询数据用到的Utils,也供大家参考。

Java代码 复制代码
  1. package common;   
  2.   
  3. import java.sql.Connection;   
  4. import java.sql.ResultSet;   
  5. import java.sql.SQLException;   
  6. import java.sql.Statement;   
  7. import java.util.ArrayList;   
  8. import java.util.List;   
  9.   
  10. public class Utils {   
  11.     /**  
  12.      * 查询表test中的所有数据,将返回的数据全部放入List集合  
  13.      * @return  
  14.      */  
  15.     public static List getAllDatas(){   
  16.         List totalList=new ArrayList();   
  17.         Connection conn=null;   
  18.         Statement stm=null;   
  19.         ResultSet rs=null;   
  20.         conn=ConnectionFactory.getOracleConnection();   
  21.         String sql="select id ,name,birthday from test";   
  22.         try {   
  23.             stm=conn.createStatement();   
  24.             rs=stm.executeQuery(sql);   
  25.             List list=null;   
  26.             while(rs.next()){   
  27.                 list=new ArrayList();   
  28.                 list.add(rs.getObject(1));   
  29.                 list.add(rs.getObject(2));   
  30.                 list.add(rs.getObject(3));     
  31.                 totalList.add(list);   
  32.             }   
  33.         } catch (SQLException e) {   
  34.             e.printStackTrace();   
  35.         }   
  36.            
  37.         return totalList;   
  38.     }   
  39. }  
分享到:
评论

相关推荐

    SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip

    在本项目中,"SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip",我们主要关注的是如何利用Java技术栈来处理Excel文件,并与数据库进行交互。以下是相关知识点的...

    java实现mysql数据库的表导出到excel文件

    在IT行业中,将数据库数据导出到Excel文件是一种常见的需求,尤其在数据分析、报表生成或者数据备份时。本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 ...

    将数据库数据导出到word excel txt文件中源码。

    本篇将详细讲解如何使用源码实现从数据库中导出数据到Word、Excel和TXT文件。 首先,让我们了解一下这三个文件格式的特点: 1. **Word**:Microsoft Word是一款流行的文档处理软件,适用于创建结构化文档,如报告...

    使用poi从数据库导出excel表的示例

    总结起来,"使用poi从数据库导出excel表的示例"是一个结合了Struts1 MVC框架和Apache POI库的Java编程任务,它涉及数据库连接、SQL查询、Excel文件生成以及Web应用响应。这个过程不仅有助于数据的高效管理和分享,也...

    从数据库将大量数据导出到Excel文件程序总结

    这是我在公司实习的时候研究的课题,主要将大量数据从数据库导出到Excel文件。(一般是值Excel2007及以后版本)因为Excel2003及以前的版本中能保持的数据量是有限制的。Excel2007及以后版本中的数据能保持100万条...

    Java使用POI将Mongo数据库数据导出到Excel文件 Demo以及jar包

    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包

    在Java开发中,有时我们需要将数据库中的数据导出到Excel文件,或者从Excel文件导入数据到数据库。Apache POI是一个流行的API,专为处理Microsoft Office格式的文件,如Excel(.xlsx, .xls)。本教程将详细介绍如何...

    spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库.zip

    "spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库",开发者利用了Spring Boot、MyBatis Plus和EasyPoi库来实现了一个功能强大的数据交互系统,允许用户将数据库中的数据导出为Excel格式...

    数据库数据导出到Excel 小Demo

    在数据库数据导出场景中,Apache POI是将数据转换为Excel格式的理想工具。 以下是实现这个小Demo的关键步骤: 1. **数据准备**:首先,你需要定义一个MyBatis的Mapper接口,包含一个SQL查询方法,用于从数据库中...

    使用java将数据库数据导出到excel文件

    本教程将详细介绍如何使用Java结合Hibernate ORM框架将数据库中的数据导出到Excel文件,以便进行进一步的数据分析或存储。 首先,让我们了解Hibernate。Hibernate是一个流行的Java ORM(对象关系映射)工具,它简化...

    POI导出(数据库数据)

    【标题】"POI导出(数据库数据)"所涉及的知识点主要集中在使用Apache POI库来导出数据库中的数据到Excel文件。Apache POI是一个流行的开源Java API,它允许开发者创建、修改和显示Microsoft Office格式的文件,尤其...

    使用jxl将数据库的数据导出到Excel

    在Java开发环境中,有时我们需要将数据库中的数据导出到Excel文件,以便于数据分析、报表生成或数据共享。这时,一个常用的工具就是JXL库。JXL全称为Java Excel API,它是一个强大的开源Java库,允许开发者在Java...

    excel表导入数据库 数据库导出excel(idea平台)

    1. 使用Apache POI读取Excel文件,遍历每一行每一列,将数据存储到Java对象中。 2. 创建JDBC连接,与数据库建立通信。这通常涉及到设置数据库URL、用户名、密码等信息。 3. 预编译SQL语句,根据Excel中的数据生成...

    阿里的EasyExcel+Mysql方式实现数据库数据导出生成exce

    在IT行业中,数据导入导出是一项常见的任务,特别是在企业级应用中,用户可能需要将大量数据从数据库导出为Excel格式,以便于分析、编辑,然后再导入回数据库进行更新或新增。阿里开源的EasyExcel工具结合SpringBoot...

    java 将数据导出到Excel中

    总结来说,Java通过Apache POI库提供了强大的Excel操作能力,使开发者可以方便地将数据导出到Excel文件中。理解并掌握这一技能对于任何进行Java开发的人来说都是十分有用的。通过实践和不断探索,你可以创建更复杂的...

    利用POI实现数据库导出Excel

    9. **代码注释**:提供的文档代码(有注释)应该包含了上述步骤的详细实现,通过阅读和理解这些注释,可以加深对POI库和数据库导出Excel过程的理解。 通过这种方式,你可以轻松地将大量数据从数据库导出为Excel文件...

    将数据库中的内容导出为Excel文档

    2. **数据处理**:查询结果通常以ResultSet对象返回,我们需要遍历这个结果集,将数据存储在适当的结构中,例如List或ArrayList,这将作为生成Excel文件的数据源。 3. **创建Excel文件**:对于Excel文件的创建,...

    excel文件数据导入到数据库以及从数据库将数据导出成excel.zip

    本项目聚焦于使用SpringBoot、MyBatis和Apache POI框架,实现Excel文件数据导入到数据库,以及从数据库导出数据为Excel的功能。下面我们将深入探讨这个过程中的关键知识点。 首先,`SpringBoot`是一个基于Spring...

    导出数据库的表结构到Excel

    标题提到的"导出数据库的表结构到Excel"就是一个这样的解决方案,它提供了一种方法将数据库中的表结构信息转换成Excel表格,便于分享、审查或进一步处理。 这个源码包和Release包可能包含了一个应用程序或者一组...

    POI +反射导出数据库到excel

    标题中的“POI +反射导出数据库到excel”是指使用Java的Apache POI库和反射机制,将数据库中的数据高效地导出到Excel文件中。Apache POI是一个流行的开源库,它允许开发者读写Microsoft Office格式的文件,包括Excel...

Global site tag (gtag.js) - Google Analytics