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

Java JXL 讀取 Excel 並寫入指定單元格到新文件

     編輯:程式設計疑難解答

需求場景

使用 JXL 庫讀取現有 Excel(.xls)文件中的特定單元格數據,並將其寫入到另一個新的 Excel 文件中。已實現讀取邏輯,但寫入環節遇到困難。

核心代碼結構

// 1. 讀取源文件
InputStream instream = new FileInputStream("源文件路徑");
Workbook readwb = Workbook.getWorkbook(instream);
Sheet readsheet = readwb.getSheet(0);

// 2. 獲取單元格數據
Cell c00 = readsheet.getCell(1, 1);
String strc00 = c00.getContents();

// 3. 創建可寫入工作簿(基於源文件)
WritableWorkbook wwb = Workbook.createWorkbook(new File("目標文件路徑"), readwb);
WritableSheet ws = wwb.getSheet(0);

// 4. 寫入數據(關鍵步驟)
// 此處原代碼僅獲取 WritableCell 未實際寫入
WritableCell wc = ws.getWritableCell(0, 0);
// 缺失:wc.setValue(...) 或使用 Label/Number 等具體類型寫入

wwb.write();
wwb.close();
readwb.close();

解決方案

JXL 寫入需使用 jxl.write.Label、Number 等具體單元格類型,而非直接操作 WritableCell。正確寫入姿勢:

// 向 (0,0) 寫入字符串
Label label = new Label(0, 0, "要寫入的內容");
ws.addCell(label);

// 向 (1,0) 寫入數字
Number number = new Number(1, 0, 123.45);
ws.addCell(number);

wwb.write(); // 必須調用 write() 落盤
wwb.close();

參考資源

推薦參考博客:JXL 讀寫 Excel 完整示例,根據自身字段結構調整即可。

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