`
qizhangwan
  • 浏览: 33346 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JXL 数据库向Excel导入数据

    博客分类:
  • java
 
阅读更多
package com.neusoft.serviceImp;

import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.neusoft.daoImp.PeoplesDaoImp;
import com.neusoft.entity.Peoples;

import jxl.*;
import jxl.write.*;
import jxl.write.biff.RowsExceededException;

/**
* 对Excel表进行操作
*
* @author ********
*
*/
public class ExcelUtil {
private static Log log = LogFactory.getLog(ExcelUtil.class);

public boolean DB2Excel(String path) {
  boolean flag = false;
  WritableWorkbook workbook = null;
  WritableSheet sheet = null;
  Label label = null;

  // 创建Excel表
  try {
    workbook = Workbook.createWorkbook(new File(path));
   //workbook = Workbook.createWorkbook(os);
   // 创建Excel表中的sheet
   sheet = workbook.createSheet("First Sheet", 0);

   // 定义表中的数据
   // Label label = new Label(0, 0, "k k 中国人*");
   // Label label1 = new Label(0, 1, "A label record");
   // Label label3 = new Label(0, 2, "3.14159");
   // Number number = new Number(1, 1, 3.1459);

   // 向Excel中添加数据\
   System.out.println("1!!!!!");
   ApplicationContext factory = new ClassPathXmlApplicationContext("applicationContext.xml");
   System.out.println("1@@@@@@");
   PeoplesDaoImp dao=(PeoplesDaoImp) factory.getBean("peoplesDaoImp");
   System.out.println("1###########");
   List list = dao.find();
   System.out.println(list.size());
   int columnCount = list.size();

   // ResultSetMetaData rsmd = rs.getMetaData();
   // int columnCount = rsmd.getColumnCount();
   String colName = null;
   int row = 0;
   // 添加标题
   // for (int i = 0; i < columnCount; i++) {
   // colName = rsmd.getColumnName(i + 1);
   // label = new Label(i, row, colName);
   // // log.info("标题:"+i+"---"+row +"---"+ colName);
   // sheet.addCell(label);
   // }
   Label label1 = new Label(0, row, "群组名称");
   Label label2 = new Label(1, row, "姓名");
   Label label3 = new Label(2, row, "生日");
   Label label4 = new Label(3, row, "电话");
   Label label5 = new Label(4, row, "邮箱");
   Label label6 = new Label(5, row, "地址");
   sheet.addCell(label1);
   sheet.addCell(label2);
   sheet.addCell(label3);
   sheet.addCell(label4);
   sheet.addCell(label5);
   sheet.addCell(label6);

   row++;
   log.info("写入标题成功");
  
   for(int i=0;i<columnCount; i++){
    Peoples p = (Peoples)list.get(i);
    Label label11 = new Label(0, row,p.getGroupname() );
    Label label21 = new Label(1, row,p.getName() );
    Label label31 = new Label(2, row,p.getBirthday() );
    Label label41 = new Label(3, row,p.getTelephone() );
    Label label51 = new Label(4, row,p.getEmail() );
    Label label61 = new Label(5, row,p.getAddress() );
    sheet.addCell(label11);
    sheet.addCell(label21);
    sheet.addCell(label31);
    sheet.addCell(label41);
    sheet.addCell(label51);
    sheet.addCell(label61);
    row++;
   }
  
//   while (rs.next()) {
//    for (int i = 0; i < columnCount; i++) {
//     label = new Label(i, row, rs.getString(i + 1));
//     // log.info("行:"+i+"---"+row +"---"+ rs.getString(i+1));
//     sheet.addCell(label);
//    }
//    row++;
//   }
   log.info("写入内容成功");
  
   System.out.println("AAAAAAAAAAAAAAAAAAA");
   // 关闭文件
   workbook.write();
   workbook.close();
   log.info("数据成功写入Excel");
   flag = true;
  } catch (RowsExceededException e) {
   log.info(e.getMessage());
  } catch (WriteException e) {
   log.info(e.getMessage());
  } catch (IOException e) {
   log.info(e.getMessage());
  } finally {
   try {
    workbook.close();
   } catch (Exception e) {
   }
  }
  return flag;
}

public boolean Excel() throws RowsExceededException, WriteException {
  boolean flag = false;
  WritableWorkbook workbook = null;
  WritableSheet sheet = null;
  Label label = null;
  try {
   workbook = Workbook.createWorkbook(new File("d:/output.xls"));
   // 创建Excel表中的sheet
   sheet = workbook.createSheet("First Sheet", 0);
   // 定义表中的数据
   label = new Label(0, 0, "k k 中国人*");
   Label label1 = new Label(0, 1, "A label record");
   Label label3 = new Label(0, 2, "3.14159");
   // jxl.write.Number number=new jxl.write.Number(1, 1, 3.1459);
   sheet.addCell(label);
   // sheet.addCell(number);
   sheet.addCell(label1);
   sheet.addCell(label3);
   // Number number = new Number(1, 1, 3.1459);
   workbook.write();
   workbook.close();
   System.out.println("SSSSSSSSSSSSSSSSSSSSSSSS");
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return false;
}

public static void main(String[] args) {
  try {

   // Class.forName("net.sourceforge.jtds.jdbc.Driver");
   // Connection con = DriverManager.getConnection(
   // "jdbc:jtds:sqlserver://localhost:1433/abc", "sa", "sa");
   // Statement st = con.createStatement();
   // ResultSet rs = st.executeQuery("select * from abc.dbo.sss");
   // // if (!new ExcelUtil().DB2Excel(rs)){
   // // log.info("数据写入失败");
   // // }
   // rs.close();
   // st.close();
   // con.close();
   ExcelUtil e = new ExcelUtil();
   e.DB2Excel("d:/output.xls");

  } catch (Exception e) {
   e.printStackTrace();
  }
}

}

分享到:
评论

相关推荐

    利用jxl把excel中的数据导入数据库

    标题“利用jxl把excel中的数据导入数据库”指的是使用Java Excel API(jxl)这个库来读取Excel文件中的数据,并将这些数据批量地导入到关系型数据库中。这是一个常见的需求,特别是在处理大量结构化数据时,例如进行...

    JXL操作EXCEL 数据库导出EXCEL相关文件

    在IT行业中,处理和操作Excel数据是一项常见的任务,特别是在数据导入导出、分析和报告生成等领域。JXL是一个Java库,专门用于读取、写入和修改Excel文件,它为Java开发者提供了一种方便的方式来处理Excel数据,而...

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

    本篇文章将详细介绍如何利用JXL将数据库的数据导出到Excel。 首先,要使用JXL,你需要在项目中引入其依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    基于JXL的Excel数据导入工具

    《基于JXL的Excel数据导入工具详解》 在IT行业中,数据处理是一项至关重要的任务,尤其是在数据分析、报表生成以及数据库管理等领域。Excel作为一款广泛使用的电子表格软件,因其强大的数据处理能力而备受青睐。...

    Excel导入导出 jxl及Poi 工具类

    导入时,通常会解析Excel文件,将数据映射到Java对象,然后存储在数据库中;导出时,从数据库获取数据,生成Excel文件。 为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中...

    jxl excel批量导入

    这个过程在处理大量数据时非常有用,比如将数据库中的数据导出到Excel,或者从Excel文件中导入数据到数据库。 在描述中提到的“博文链接:https://xgtxxxx.iteye.com/blog/1616979”,虽然具体链接无法访问,但可以...

    数据库内容导入到Excel jxl.jar包

    首先,从数据库中提取数据,然后使用jxl库将数据写入Excel工作表。这通常涉及到数据库查询、结果集遍历以及使用jxl的API创建和写入工作表。 以下是一个简单的示例,展示了如何使用jxl将数据写入Excel: ```java ...

    java后台jxl将excel数据导入到MYSQL中

    总之,使用Java和jxl库可以方便地处理Excel文件,配合JDBC可以将数据导入MySQL数据库。通过合理设计和优化,这个过程可以高效且可靠地进行。在处理大量数据时,还要注意数据库性能和并发控制,确保系统的稳定性和...

    jxl 实现的数据库导入导出

    使用了hibernate+struts1+spring + MYSql数据库 能够将数据库整张表的数据导出到excel...也能将excel 的数据导入 到空的 数据库表中。 能够保证导出的数据类型不变。 如要正确运行,必须先执行src 下的backup.sql 脚本

    jxl从数据库导出到excel工具包

    这个标题表明我们要讨论的是一个使用jxl库来帮助从数据库中导出数据并将其格式化为Excel文件的工具包。jxl是一个广泛使用的Java库,允许开发者读取、写入和修改Excel文件。这种工具包通常用于数据分析、报表生成或者...

    jxl java对excel的操作,导入mysql中

    在“jxl java对excel的操作,导入mysql中”这个主题中,我们将探讨如何使用JXL库来处理Excel数据,并将这些数据有效地导入到MySQL数据库中。 首先,你需要下载并引入JXL库到你的Java项目中。`jxl.jar`是主要的库...

    JAVA实现数据库数据导入导出到Excel(POI)所需jar包

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

    Java实现从excel中批量导入数据到数据库

    Java实现从excel中批量高效导入数据到数据库中,包括图片的导入存储,读取图片显示在jsp页面等,需要下载JspSmartUpload.jar和jxl.jar两个jar包,将两个包导入项目才能运行

    JAVA实现Excel表数据导入ORACLE数据库.txt

    ### JAVA实现Excel表数据导入ORACLE数据库 #### 知识点概述 本文将详细介绍如何使用Java编程语言将Excel表格中的数据导入到Oracle数据库中。这一过程涉及到的关键技术包括:使用JDBC连接Oracle数据库、通过ODBC...

    jxl导入导出excel完美运行demo

    这个"jxl导入导出excel完美运行demo"提供了从零开始进行数据导入导出的基础模板,通过学习和理解这个示例,开发者能够快速掌握使用`jxl`库处理Excel文件的方法,并应用于实际项目中。 总之,`jxl`库是Java处理Excel...

    struts2 poi,jxl向excel表中插入记录源代码

    这个项目的核心功能是允许用户通过前端界面提交数据,然后这些数据会被Struts2的Action处理,并使用POI或JXL库写入到指定的Excel文件中。为了实现这一功能,你需要理解以下几个关键知识点: 1. **Struts2 Action**:...

    JXL(Java操作Excel文件Oracle数据库)

    综上所述,"JXL(Java操作Excel文件Oracle数据库)"是一个关于Java编程如何借助JXL库处理Excel文件并与Oracle数据库进行数据交换的主题。这个过程涵盖了文件I/O、数据库连接、JDBC操作以及数据处理等多个方面,对于...

    java_Excel上传数据到Oracle数据库

    在Java编程环境中,将Excel数据上传到Oracle数据库是一项常见的任务,尤其在数据处理和系统集成中。...通过以上技术,我们可以实现从Excel文件高效且安全地导入数据到Oracle数据库,为企业的数据管理提供便利。

Global site tag (gtag.js) - Google Analytics