使用 Apache POI 讀取 Excel 獲取 String[][],需傳遞給 JXL 寫入新文件。原代碼中 createTable(String[] body, ...) 參數類型不匹配,導致編譯錯誤。
將讀取方法返回類型、寫入方法參數類型均改為 List<String[]>,避免二維數組長度不固定、轉換繁瑣的問題。
// 讀取:返回 List<String[]>
public static List<String[]> getData(File file, int ignoreRows) throws ... {
List<String[]> result = new ArrayList<>();
// ... 解析邏輯 ...
result.add(values); // 直接加入數組
return result; // 無需轉為 String[][]
}
// 寫入:接收 List<String[]>
public boolean createTable(List<String[]> data, String filePath) {
// ...
for (int j = 0; j < data.size(); j++) {
String[] row = data.get(j);
for (int k = 0; k < row.length; k++) {
// 寫入單元格 row[k]
}
}
// ...
}
String[][] 到 List 的雙向轉換。此模式適用於所有「讀取表格數據 → 內存處理 → 寫入表格」的場景。