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在網上可以方便的下載。