- 浏览: 229052 次
- 性别:
- 来自: 惠州
文章分类
最新评论
-
woodding2008:
好文,拜读
这个金钱堆砌的互联网时代,也许你根本看不到真相 -
zhaoshaofang:
很好···我开始学习··有用·
一个简单的UDP聊天室 -
JavaScanner:
很不错啊,谢谢转载一份,自己看!
Java导出Excel文件实例
import java.io.File;
import jxl.*;
import jxl.write.*;
import jxl.write.biff.RowsExceededException;
import java.sql.*;
import java.util.*;
public class DBtoExcel {
/**
* 导出Excel表
* @param rs 数据库结果集
* @param filePath 要保存的路径,文件名为 fileName.xls
* @param sheetName 工作簿名称 工作簿名称,本方法目前只支持导出一个Excel工作簿
* @param columnName 列名,类型为Vector<STRING></STRING>
*/
public void WriteExcel(ResultSet rs, String filePath, String sheetName, Vector<STRING></STRING> columnName) {
WritableWorkbook workbook = null;
WritableSheet sheet = null;
int rowNum = 1; // 从第一行开始写入
try {
workbook = Workbook.createWorkbook(new File(filePath)); // 创建Excel文件
sheet = workbook.createSheet(sheetName, 0); // 创建名为 sheetName 的工作簿
this.writeCol(sheet, columnName, 0); // 首先将列名写入
// 将结果集写入
while(rs.next()) {
Vector<STRING></STRING> col = new Vector<STRING></STRING>(); // 用以保存一行数据
for(int i = 1; i <= columnName.size(); i++) { // 将一行内容保存在col中
col.add(rs.getString(i));
}
// 写入Excel
this.writeCol(sheet, col, rowNum++);
}
}catch(Exception e) {
e.printStackTrace();
}
finally {
try {
// 关闭
workbook.write();
workbook.close();
rs.close();
}catch(Exception e) {
e.printStackTrace();
}
}
}
/***
* 将数组写入工作簿
* @param sheet 要写入的工作簿
* @param col 要写入的数据数组
* @param rowNum 要写入哪一行
* @throws WriteException
* @throws RowsExceededException
*/
private void writeCol(WritableSheet sheet, Vector<STRING></STRING> col, int rowNum) throws RowsExceededException, WriteException {
int size = col.size(); // 获取集合大小
for(int i = 0; i < size; i++) { // 写入每一列
Label label = new Label(i, rowNum, col.get(i));
sheet.addCell(label);
}
}
}
import java.io.File;
import jxl.*;
import jxl.write.*;
import jxl.write.biff.RowsExceededException;
import java.sql.*;
import java.util.*;
public class DBtoExcel {
/**
* 导出Excel表
* @param rs 数据库结果集
* @param filePath 要保存的路径,文件名为 fileName.xls
* @param sheetName 工作簿名称 工作簿名称,本方法目前只支持导出一个Excel工作簿
* @param columnName 列名,类型为Vector
*/
public void WriteExcel(ResultSet rs, String filePath, String sheetName, Vector columnName) {
WritableWorkbook workbook = null;
WritableSheet sheet = null;
int rowNum = 1; // 从第一行开始写入
try {
workbook = Workbook.createWorkbook(new File(filePath)); // 创建Excel文件
sheet = workbook.createSheet(sheetName, 0); // 创建名为 sheetName 的工作簿
this.writeCol(sheet, columnName, 0); // 首先将列名写入
// 将结果集写入
while(rs.next()) {
Vector col = new Vector(); // 用以保存一行数据
for(int i = 1; i <= columnName.size(); i++) { // 将一行内容保存在col中
col.add(rs.getString(i));
}
// 写入Excel
this.writeCol(sheet, col, rowNum++);
}
}catch(Exception e) {
e.printStackTrace();
}
finally {
try {
// 关闭
workbook.write();
workbook.close();
rs.close();
}catch(Exception e) {
e.printStackTrace();
}
}
}
/***
* 将数组写入工作簿
* @param sheet 要写入的工作簿
* @param col 要写入的数据数组
* @param rowNum 要写入哪一行
* @throws WriteException
* @throws RowsExceededException
*/
private void writeCol(WritableSheet sheet, Vector col, int rowNum) throws RowsExceededException, WriteException {
int size = col.size(); // 获取集合大小
for(int i = 0; i < size; i++) { // 写入每一列
Label label = new Label(i, rowNum, col.get(i));
sheet.addCell(label);
}
}
}首先我用到的是jxl 的东西,所以要先下个Jar包,http://download.csdn.net/source/487467 导入Jar包之后,可以用这个.
测试代码:
view plaincopy to clipboardprint?
public static void main(String []args) throws Exception {
String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = TestJXL;";
String USERNAME = "sa";
String USERPASSWORD = "123";
String sql = "Select * from Person"; // 查询语句
Vector<STRING></STRING> columnName = new Vector<STRING></STRING>(); // 列名
columnName.add("编号");
columnName.add("姓名");
columnName.add("密码");
// 连接数据库
Class.forName(DRIVER);
Connection conn = DriverManager.getConnection(URL,USERNAME,USERPASSWORD);
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
// 导出文件
new DBtoExcel().WriteExcel(rs, "person.xls", "人物信息", columnName);
}
public static void main(String []args) throws Exception {
String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = TestJXL;";
String USERNAME = "sa";
String USERPASSWORD = "123";
String sql = "Select * from Person"; // 查询语句
Vector columnName = new Vector(); // 列名
columnName.add("编号");
columnName.add("姓名");
columnName.add("密码");
// 连接数据库
Class.forName(DRIVER);
Connection conn = DriverManager.getConnection(URL,USERNAME,USERPASSWORD);
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
// 导出文件
new DBtoExcel().WriteExcel(rs, "person.xls", "人物信息", columnName);
}view plaincopy to clipboardprint?
view plaincopy to clipboardprint?
这都很简单的类,多交流!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sunjiahaoz/archive/2008/06/08/2523244.aspx
发表评论
-
Swing 给JLabel加超链接
2010-04-28 03:36 2127实现这样一个功能很简单,我们可以把它封装到一个类中, ... -
JAVA的instanceOf什么时候用
2010-04-22 00:48 1055其实这个问题以前也困扰过我。我个人理解的一个应用场合就是 ... -
关于字符串缓冲池的讨论
2010-04-21 23:56 981看到一个关于字符串 ... -
Cloneable 接口
2010-04-21 23:47 1750Cloneable 接口 ·public interf ... -
Java中Object的方法
2010-04-21 21:26 986构造方法摘要 Object() ... -
List Set ArrayList 区别详解
2010-04-14 03:01 1644List是列表(接口),是可以允许出现重复值的,Set是集合, ... -
ArrayList Vector LinkedList 区别与用法
2010-04-14 02:53 785ArrayList 和Vector是采用数组方式存储数据,此数 ... -
list.toArray
2010-04-13 12:24 1484今天为了把一个ArrayList直接转化为一个Strin ... -
SQLServer Unsupported method: ResultSet.last的问题
2010-04-08 10:44 1035在数据库查询中,一般我们都是先获得查询的结果集,然后通过 ... -
Java导出Excel文件实例
2010-04-08 10:18 2271先到http://www.andykhan.com/ ... -
JXL入门学习
2010-04-08 09:57 762最近和Excel频繁亲密接触,主要将N个Excel表中的 ... -
javaMail 发送邮件成功例子
2010-04-08 09:51 1572一个通过JSP,JAVABEAN组合成功发送邮件的例子;需要的 ... -
java web知识结构
2010-04-06 16:02 742传统的java web应用程序 ... -
Java接口详解
2010-04-03 12:02 2831对初学者来说,接口不是很好理解。现将某高手的一篇文章贴出来 ... -
Java 正则表达式
2010-04-01 15:40 831引言 正则表达式 ... -
java时间格式大全
2010-03-24 09:24 716java时间格式大全 java.util.*; import ...
相关推荐
java实现mysql数据库的表导出到excel文件,已经基本的demo包含jar包,可以导入的eclipse里面。比较好用吧
2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection.json 2. 导入sql到数据库:other/excel.sql 3. idea导入...
Excel读取数据库生成Excel并下载完整源代码 数据库为Mysql 可自行更改
完整项目,可直接放入MyEclipse运行。 可以从数据库里面的数据导出到EXCEL里面,图片也可以导出来显示在EXCEL里面。 同样,也可以把图片导入到数据库里面。 若不明白,来空间留言。 所有jar包齐全。
用java把excel表的数据导入到数据库(可能有些类型还没考虑完全,抽空写的) 简单的思路 一、先获取数据库表的字段名、主键名, 二、读取excel文件的数据(注意:excel文件的数据表字段的顺序与该表的顺序一致,...
Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、
利用hutool工具从数据库生成Excel表结构实例, 生成的excel中,每个表一个sheet,表目录带有超链接。
java用poi读取和创建excel 把excel中的数据导入或导出到数据库
当有需求,需要把当天的报表文件发送给指定邮箱又不小生成多余的...实现过程是先将数据库里的数据,导出excel文件输出流中(注:不是直接生成文件),发送邮件时附件内容直接从前面excel文件输出流中获取,然后发送邮件
Java+Oracel+将数据导入到Excel中,Java将Excel中的数据导入到Oracle数据库中,
excel 100万导出无压力,保持在内存中1000行,超过行会刷新到磁盘,按poi官方例子写的,如果读数据库,按分页读取再循环写入,这个自己去实现哟
Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。
里面写了含有写好的EXCEL方法,支持大数据批量导出,最新的xlsx文件
jsp技术结合servler实现excel文件的导出,excel数据从servlet里读取,你可让其封装方法从数据库里读取。
解析Excel生成Sql脚本,并直接执行到数据库。包括源码,打包后的程序,demo。运行时系统必须又JRE
最好用的excel导入导出工具for Java(兼容2003和2007) 读取excel为List,Object>>方便转换,excel2db,db2excel
java导出excel表格源码下载3D 城市数据库导入器/导出器 3D 城市数据库导入器/导出器是一个基于 Java 的客户端,用于 . 它允许高性能加载和提取 3D 城市模型数据。 支持 CityGML 2.0 和 1.0 支持 CityJSON 1.0 通过...
并且开放了外部读取数据库结构的源程序(C#/Delphi/JAVA)、 您可以通过使用BDB来简化软件开发和部署过程: 1、数据库设计、数据库部署:支持和数据库之间的正向和反向工程。 既可以通过BDB进行新的数据库设计,自动...
开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中,操作Excel目前有两个框架,一个是apache 的poi, 另一个是 Java Excel Apache POI 简介是用Java编写的免费开源的跨平台的 Java API,Apache POI...
运用flex 做的一个读取excel并与java从数据库中读取的数据进行逻辑处理后,再导出一份excel的工具。