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中的数据导入数据库”指的是使用Java Excel API(jxl)这个库来读取Excel文件中的数据,并将这些数据批量地导入到关系型数据库中。这是一个常见的需求,特别是在处理大量结构化数据时,例如进行...
在IT行业中,处理和操作Excel数据是一项常见的任务,特别是在数据导入导出、分析和报告生成等领域。JXL是一个Java库,专门用于读取、写入和修改Excel文件,它为Java开发者提供了一种方便的方式来处理Excel数据,而...
本篇文章将详细介绍如何利用JXL将数据库的数据导出到Excel。 首先,要使用JXL,你需要在项目中引入其依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
《基于JXL的Excel数据导入工具详解》 在IT行业中,数据处理是一项至关重要的任务,尤其是在数据分析、报表生成以及数据库管理等领域。Excel作为一款广泛使用的电子表格软件,因其强大的数据处理能力而备受青睐。...
导入时,通常会解析Excel文件,将数据映射到Java对象,然后存储在数据库中;导出时,从数据库获取数据,生成Excel文件。 为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中...
这个过程在处理大量数据时非常有用,比如将数据库中的数据导出到Excel,或者从Excel文件中导入数据到数据库。 在描述中提到的“博文链接:https://xgtxxxx.iteye.com/blog/1616979”,虽然具体链接无法访问,但可以...
首先,从数据库中提取数据,然后使用jxl库将数据写入Excel工作表。这通常涉及到数据库查询、结果集遍历以及使用jxl的API创建和写入工作表。 以下是一个简单的示例,展示了如何使用jxl将数据写入Excel: ```java ...
总之,使用Java和jxl库可以方便地处理Excel文件,配合JDBC可以将数据导入MySQL数据库。通过合理设计和优化,这个过程可以高效且可靠地进行。在处理大量数据时,还要注意数据库性能和并发控制,确保系统的稳定性和...
使用了hibernate+struts1+spring + MYSql数据库 能够将数据库整张表的数据导出到excel...也能将excel 的数据导入 到空的 数据库表中。 能够保证导出的数据类型不变。 如要正确运行,必须先执行src 下的backup.sql 脚本
这个标题表明我们要讨论的是一个使用jxl库来帮助从数据库中导出数据并将其格式化为Excel文件的工具包。jxl是一个广泛使用的Java库,允许开发者读取、写入和修改Excel文件。这种工具包通常用于数据分析、报表生成或者...
在“jxl java对excel的操作,导入mysql中”这个主题中,我们将探讨如何使用JXL库来处理Excel数据,并将这些数据有效地导入到MySQL数据库中。 首先,你需要下载并引入JXL库到你的Java项目中。`jxl.jar`是主要的库...
在Java开发中,有时我们需要将数据库中的数据导出到Excel文件,或者从Excel文件导入数据到数据库。Apache POI是一个流行的API,专为处理Microsoft Office格式的文件,如Excel(.xlsx, .xls)。本教程将详细介绍如何...
Java实现从excel中批量高效导入数据到数据库中,包括图片的导入存储,读取图片显示在jsp页面等,需要下载JspSmartUpload.jar和jxl.jar两个jar包,将两个包导入项目才能运行
### JAVA实现Excel表数据导入ORACLE数据库 #### 知识点概述 本文将详细介绍如何使用Java编程语言将Excel表格中的数据导入到Oracle数据库中。这一过程涉及到的关键技术包括:使用JDBC连接Oracle数据库、通过ODBC...
这个"jxl导入导出excel完美运行demo"提供了从零开始进行数据导入导出的基础模板,通过学习和理解这个示例,开发者能够快速掌握使用`jxl`库处理Excel文件的方法,并应用于实际项目中。 总之,`jxl`库是Java处理Excel...
这个项目的核心功能是允许用户通过前端界面提交数据,然后这些数据会被Struts2的Action处理,并使用POI或JXL库写入到指定的Excel文件中。为了实现这一功能,你需要理解以下几个关键知识点: 1. **Struts2 Action**:...
综上所述,"JXL(Java操作Excel文件Oracle数据库)"是一个关于Java编程如何借助JXL库处理Excel文件并与Oracle数据库进行数据交换的主题。这个过程涵盖了文件I/O、数据库连接、JDBC操作以及数据处理等多个方面,对于...
在Java编程环境中,将Excel数据上传到Oracle数据库是一项常见的任务,尤其在数据处理和系统集成中。...通过以上技术,我们可以实现从Excel文件高效且安全地导入数据到Oracle数据库,为企业的数据管理提供便利。