您的位置:首页 > 数据库

jsp中将数据库中的数据导入到excel的实现

2008-04-25 11:11 471 查看
我最近做的一个项目是在jsp页面中将数据库中的数据到如到excel中,结合我以往的经验,我做了一个bean可以方便的实现
package com.javaTNT.excel;
/**
* @(#)cexcel.java 1.0 04/03/16
* Title:
* Description:
* Copyright: Copyright (c) 2003
* Company:
* @author 董政利
* @version 2.0
*/
import java.io.*;
import java.sql.*;
import com.javaTNT.excel.*;
import jxl.*;
import jxl.write.*;
public class excel{
//MyExecSQL 连接数据库的类
MyExecSQL conn=null;
//构造函数
public excel(){
conn=new MyExecSQL();
}
/*========================================================
=== 函数功能:生成excel文件
=== 参 数
=== title:字段名称
=== sql: sql字符串
=== path:文件生成路径
=== 返 回 值:
=== 开 发 者:董政利
=== 开发时间:2004-03-16
=== 修改纪录:
==========================================================*/
public void createexcel(String[]title,String sql,String path){
int i=0;
int j=0;
ResultSet rs=null;
try {
//建立与数据库的连接
conn.MyConnectSQLSERVER("dzl","traffic");
rs=conn.execQuery(sql);
//构建Workbook对象, 只读Workbook对象
//:创建可写入的excel工作薄
WritableWorkbook wwb = Workbook.createWorkbook(new FileOutputStream(path));
WritableSheet ws = wwb.createSheet("sheet1", 0);
for( i=0;i<title.length;i++){
WritableFont wf = new WritableFont(WritableFont.TIMES, 12, WritableFont.BOLD, false);
WritableCellFormat wcfF = new WritableCellFormat(wf);
Label labelCF = new Label(i, 0, title[i],wcfF);
ws.addCell(labelCF);
}

i=1;
while (rs.next()) {
for(j=1;j<=title.length;j++)
{
Label labelC = new Label(j-1,i, rs.getString(j));
ws.addCell(labelC);
}
i++;
}
//写入Exel工作表
wwb.write();
//关闭excel工作薄对象
wwb.close();
rs.close();
conn.MyDisConnect();
}
catch (Exception e) {
System.out.println(e.toString());
}
}
////测试函数
// public static void main(String args[])
// {
// String[] title={"我","的","测","试"};
// String sql="select bh,jb,mc,xh from dq order by xh ";
// excel Myexcel=new excel();
// Myexcel.createexcel(title,sql,"d:/dzl.csv");
// }
}
我用的是java的一个开源项目jxl在网上可以方便的下载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: