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

类别:Java 点击:0 评论:0 推荐:

       我最近做的一个项目是在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在网上可以方便的下载。

本文地址:http://com.8s8s.com/it/it16720.htm