`

POI导出

    博客分类:
  • POI
阅读更多
使用java将数据库中的数据导出到excel中
我现在要实现的是使用java语句实现蒋mysql数据库中数据导出到excel中来,另外的功能是将excel中的数据导入到数据库中,求教高手,最好是程序,我用的包是jxl.jar包.
用jxl来实现  
  import   jxl.Cell;  
  import   jxl.Sheet;  
  import   jxl.Workbook;public   String   importEnter(HttpServletRequest   request)   {  
  Connection   conn   =   null;  
  PreparedStatement   ps   =   null;  
  OpenDbBean   db   =   new   OpenDbBean();  
  String   message   =   "";  
  try   {  
  ServletInputStream   is   =   request.getInputStream();  
  byte[]   junk   =   new   byte[1024];  
  int   bytesRead   =   0;  
  //去掉浏览器发送的垃圾信息  
  bytesRead   =   is.readLine(junk,   0,   junk.length);  
  bytesRead   =   is.readLine(junk,   0,   junk.length);  
  bytesRead   =   is.readLine(junk,   0,   junk.length);  
  bytesRead   =   is.readLine(junk,   0,   junk.length);  
  Workbook   workbook   =   Workbook.getWorkbook(is);  
 //取得第一个工作录  
  Sheet   sheet   =   workbook.getSheet(0);  
  //从第二行开始取数据并处理  
  Enter   enter   =   new   Enter();  
  //连接数据库  
  conn   =   db.getConnection();  
  String   sql   =  
  "insert   into   haocai_enter(enter_id,enter_time,amount,jsr,type_id,xh)"  
  +   "   values(s_enter_id.nextval,to_date(?,'dd/mm/yyyy'),?,?,?,?)";  
  ps   =   conn.prepareStatement(sql);  
  int   okCount   =   0;  
  ArrayList   errorRows   =   new   ArrayList();  
  for   (int   i   =   1;   i   <   sheet.getRows();   i++)   {  
  DB   mydb   =   new   DB();  
  Cell[]   c   =   sheet.getRow(i);  
  String   type_id   =   enter.getTypeIdByPm(c[PM].getContents());  
  if   (type_id   !=   null)   {  
  //设置入库数据  
  ps.setString(1,   c[ENTER_TIME].getContents());  
  ps.setString(2,   c[AMOUNT].getContents());  
  ps.setString(3,   c[JSR].getContents());  
  ps.setString(4,   type_id);  
  ps.setString(5,   c[XH].getContents());  
  ps.addBatch();  
  okCount++;  
  }   else   {  
  message   +=   "<br>第"   +   i   +   "行   "   +   c[PM].getContents()   +   "   导入失败";  
  }  
  }  
  //执行该批过程  
  if   (okCount   >   0)   {  
  ps.executeBatch();  
  }  
  message   +=   "<br>成功导入"   +   okCount   +   "   行";  
  workbook.close();  
  }   catch   (Exception   e)   {  
  System.out.println(e.getMessage());  
  message   +=   "<br>"   +   e.getMessage();  
  }   finally   {  
  try   {  
  db.CleanConnection(conn,   ps,   null);  
  }   catch   (SQLException   e1)   {  
  e1.printStackTrace();  
  }  
  }  
  return   message;  
  }

用jxl.jar或者poi都可以,poi可以到apache网站上去下。  
   
  利用Java   创建和读取Excel文档  
  为了保证示例程序的运行,必须安装Java   2   sdk1.4.0   和Jakarta   POI,Jakarta   POI的Web站点是:   http://jakarta.apache.org/poi/    
   
  示例1将演示如何利用Jakarta   POI   API   创建Excel   文档。    
   
   
   
  示例1程序如下:  
  import   org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  import   org.apache.poi.hssf.usermodel.HSSFSheet;  
  import   org.apache.poi.hssf.usermodel.HSSFRow;  
  import   org.apache.poi.hssf.usermodel.HSSFCell;  
  import   java.io.FileOutputStream;  
  public   class   CreateXL   {  
 /**   Excel   文件要存放的位置,假定在D盘JTest目录下*/  
   public   static   String   outputFile="D:/JTest/   gongye.xls";  
   public   static   void   main(String   argv[])  
      {  
   try  
      {  
    //   创建新的Excel   工作簿  
    HSSFWorkbook   workbook   =   new   HSSFWorkbook();  
    //   在Excel工作簿中建一工作表,其名为缺省值  
    //   如要新建一名为"效益指标"的工作表,其语句为:  
    //   HSSFSheet   sheet   =   workbook.createSheet("效益指标");  
    HSSFSheet   sheet   =   workbook.createSheet();  
    //   在索引0的位置创建行(最顶端的行)  
    HSSFRow   row   =   sheet.createRow((short)0);  
    //在索引0的位置创建单元格(左上端)  
    HSSFCell   cell   =   row.createCell((short)   0);  
    //   定义单元格为字符串类型  
    cell.setCellType(HSSFCell.CELL_TYPE_STRING);  
    //   在单元格中输入一些内容  
    cell.setCellValue("增加值");  
    //   新建一输出文件流  
    FileOutputStream   fOut   =   new   FileOutputStream(outputFile);  
    //   把相应的Excel   工作簿存盘  
    workbook.write(fOut);  
    fOut.flush();  
    //   操作结束,关闭文件  
    fOut.close();  
    System.out.println("文件生成...");  
   
   
   
   }catch(Exception   e)   {  
    System.out.println("已运行   xlCreate()   :   "   +   e   );  
   }  
  }  
  }  
   
   
   
  读取Excel文档中的数据  
    示例2将演示如何读取Excel文档中的数据。假定在D盘JTest目录下有一个文件名为gongye.xls的Excel文件。  
    示例2程序如下:  
  import   org.apache.poi.hssf.usermodel.HSSFWorkbook;  
  import   org.apache.poi.hssf.usermodel.HSSFSheet;  
  import   org.apache.poi.hssf.usermodel.HSSFRow;  
  import   org.apache.poi.hssf.usermodel.HSSFCell;  
  import   java.io.FileInputStream;  
  public   class   ReadXL   {  
   /**   Excel文件的存放位置。注意是正斜线*/  
   public   static   String   fileToBeRead="D:/JTest/   gongye.xls";  
   public   static   void   main(String   argv[]){    
   try{  
    //   创建对Excel工作簿文件的引用  
    HSSFWorkbook   workbook   =   new   HSSFWorkbook(new   FileInputStream(fileToBeRead));  
    //   创建对工作表的引用。  
 //   本例是按名引用(让我们假定那张表有着缺省名"Sheet1")  
    HSSFSheet   sheet   =   workbook.getSheet("Sheet1");  
    //   也可用getSheetAt(int   index)按索引引用,  
    //   在Excel文档中,第一张工作表的缺省索引是0,  
    //   其语句为:HSSFSheet   sheet   =   workbook.getSheetAt(0);  
    //   读取左上端单元  
    HSSFRow   row   =   sheet.getRow(0);  
    HSSFCell   cell   =   row.getCell((short)0);  
    //   输出单元内容,cell.getStringCellValue()就是取所在单元的值  
    System.out.println("左上端单元是:   "   +   cell.getStringCellValue());    
   }catch(Exception   e)   {  
    System.out.println("已运行xlRead()   :   "   +   e   );  
   }  
  }  
  }  
   
   
   
   
    设置单元格格式  
    在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。在Java  
   
   
   
  中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:  
   
   
   
    1、创建字体,设置其为红色、粗体:  
  HSSFFont   font   =   workbook.createFont();  
  font.setColor(HSSFFont.COLOR_RED);  
  font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);  
    2、创建格式  
  HSSFCellStyle   cellStyle=   workbook.createCellStyle();  
  cellStyle.setFont(font);  
    3、应用格式    
  HSSFCell   cell   =   row.createCell((short)   0);  
  cell.setCellStyle(cellStyle);  
  cell.setCellType(HSSFCell.CELL_TYPE_STRING);  
  cell.setCellValue("标题   ");  
   
   
   
    总之,如本篇文章所演示的一样,Java程序员不必担心Excel工作表中的数据了,利用Jakarta   POI   API,  
   
   
   
  我们就可以轻易的在程序中存取Excel文档。

分享到:
评论

相关推荐

    POI导出 POI导出 POI导出

    POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...

    POI导出Excel文件

    以下是一个简化的示例,演示了如何使用POI导出Excel: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io....

    poi 导出多表头

    在本场景中,我们关注的是如何使用 POI 来创建具有复杂表头的 Excel 导出功能。多表头通常指的是在 Excel 表格中拥有多个层次的列标题,这在处理分类数据或者构建具有嵌套结构的报告时非常有用。 ** poi 导出多表头...

    poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值)

    poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值), poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值) poi导出导入封装(使用注解建立实体与excel映射关系+反射设置...

    poi导出cvs文件

    标题中的“poi导出csv文件”指的是使用Apache POI库来生成CSV(逗号分隔值)文件。Apache POI是Java中一个流行的库,它主要用于处理Microsoft Office格式的文件,如Excel。在这个场景中,我们将探讨如何使用POI来...

    springboot+poi导出指定格式Excel模板

    springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...

    poi导出excel参考方法

    POI导出Excel参考方法 POI(Poor Obfuscation Implementation)是一个Java的API,用于操作Microsoft Office文档,包括Excel、Word、PowerPoint等。下面是POI导出Excel参考方法的相关知识点: 1. POI的基本概念 ...

    java使用POI导出 Excel工具类

    java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。

    POI导出Excel表格

    在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...

    apache POI 导出Excel 设置打印

    在使用Apache POI导出Excel时,首先需要创建一个`XSSFWorkbook`对象作为工作簿,然后通过工作簿创建`XSSFSheet`对象代表工作表。例如: ```java XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet =...

    java poi导出excel

    以上就是使用Java POI导出Excel的基本步骤。你可以根据实际需求调整代码,例如添加数据遍历、样式设置、图表生成等功能。确保正确管理资源,避免内存泄漏,特别是在服务器端处理大量数据时。记得在完成后关闭工作簿...

    POI导出(数据库数据)

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

    POI导出多个sheet工作表Demo

    在“POI导出多个sheet工作表Demo”中,我们将探讨如何利用Apache POI库来创建一个Excel文档,并在其中添加多个工作表,每个工作表可能代表不同的数据模块或分析部分。 首先,我们需要在项目中引入Apache POI库。...

    struts2 poi导出到excel

    Struts2和Apache POI是Java开发中处理Web应用程序数据导出到Excel的常用工具。...以上就是使用Struts2和Apache POI导出数据到Excel的基本流程和关键知识点,实际应用中可能需要根据具体需求进行调整和优化。

    基于Apache POI导出大数据量(百万级)Excel的实现

    【作品名称】:基于Apache POI导出大数据量(百万级)Excel的实现 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:...

    poi导出excel需要的jar

    "poi导出excel需要的jar"指的是在使用Apache POI进行Excel导出时,你需要包含特定的JAR依赖文件。 首先,要实现POI导出Excel的功能,你需要下载Apache POI相关的JAR文件。这些文件通常包括以下核心组件: 1. **poi...

    poi导出最简单

    标题中的“poi导出最简单”指的是使用Apache POI库在Java中进行Excel文件导出的一个简化示例。Apache POI是Java社区中广泛使用的库,它允许开发者创建、修改和显示Microsoft Office格式的文件,其中包括Excel(XLS和...

    POI导出.pdf,.doc,.xls,.jpg四种格式通用组件

    在描述中提到的"POI导出.pdf,.doc,.xls,.jpg四种格式通用组件",意味着该组件不仅限于处理Microsoft Office文档,还支持生成PDF和图像文件(如.jpg),实现了多种文件格式间的转换和导出。 1. **Apache POI 概述**...

    java POI 导出复杂要求的表格

    这篇博客“java POI 导出复杂要求的表格”可能详细介绍了如何使用POI库来创建和定制满足特定需求的Excel表格。 在处理复杂的表格时,POI提供了广泛的API,可以处理单元格的样式、数据类型、公式以及工作表的各种...

    POI导出excle例子+代码+poi文档

    在“POI导出Excel例子”中,我们首先需要了解几个核心类: 1. **HSSFWorkbook**:这是用于创建Excel 2003(.xls)文件的工作簿对象。如果你需要创建Excel 2007及以上版本的.xlsx文件,你应该使用XSSFWorkbook类。 ...

Global site tag (gtag.js) - Google Analytics