首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

基於 JXL 的 Excel 匯出工具類封裝:支援 JDBC ResultSet 與自定義 Record 兩種資料源

     編輯:J2EE

功能特性

  • 依賴 jxl.jar (jexcelapi),輕量無 POI 依賴。
  • 雙資料源模式:ResultSet (資料庫直匯) / `List` (記憶體物件)。
  • 支援字串、數值、日期三種儲存格類型自動識別。
  • 彈性欄位控制:標題名、顯示/隱藏、欄寬獨立配置。

核心 API 簽名

public class ExcelUtil {
    // JDBC 模式
    public static void exportToExcel(String filePath, ResultSet rs,
                                     String[] fieldNames, boolean[] isDisplay, int[] columnWidth)

    // Record 模式
    public static void exportToExcel(String filePath, List<Record> records,
                                     String[] fieldNames, boolean[] isDisplay, int[] columnWidth)
}

使用範例 1:JDBC 直匯

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "pwd");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM user");

String[] fields = {"序號","姓名","年齡","電話","地址","出生日期"};
boolean[] show = {false, true, false, true, false, true};
int[] widths = {20, 40, 20, 20, 40, 40};

ExcelUtil.exportToExcel("f:/export_user.xls", rs, fields, show, widths);

rs.close(); st.close(); conn.close();

使用範例 2:記憶體 Record 列表

List<Record> list = new ArrayList<>();
list.add(new Record(0, new String[]{"1","張三","22","123","測試地址1"}));
list.add(new Record(1, new String[]{"2","李四","33","456","測試地址2"}));

String[] fields = {"序號","姓名","年齡","電話","地址"};
boolean[] show = {false, true, false, true, false};
int[] widths = {20, 40, 20, 20, 40};

ExcelUtil.exportToExcel("f:/export_mem.xls", list, fields, show, widths);

Record 實體定義

public class Record {
    private int rowIndex;
    private String[] values;
    public Record(int rowIndex, String[] values) { this.rowIndex = rowIndex; this.values = values; }
    // getter/setter 略
}

遷移提醒:JXL 已停止維護

JXL 僅支援 `.xls` (BIFF8),**不支援 `.xlsx` (OOXML)** 且不再更新。新專案強烈建議改用 Apache POI (支援 xls/xlsx、流式寫入 SXSSF、豐富樣式)。本工具僅供維護舊系統參考。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved