使用 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 完整示例,根據自身字段結構調整即可。