jsp頁面中將數據庫中的數據到如到excel中

我最近做的一個項目是在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在網上可以方便的下載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章