2
我使用Apache POI來創建一個大的Excel電子表格,這對客戶端來說可能非常公式沉重,後來可能會用新公式修改我的程序代碼。我正在處理的最大問題是處理POI工作簿針對其行和列是0索引的事實,而Excel公式處理文檔就好像它是1索引的。我使用的是幫助類,使轉換現在:Apache POI Excel行和列索引
class RowHelper {
public static int getCell(int col) {
return col - 1;
}
public static String getCellAddress(int row, int col) {
return CellReference.convertNumToColString(col) + row;
}
}
當我在文檔中編輯行我寫這樣的:
posRow.getCell(RowHelper.getCell(189)).setCellFormula(String.format("COUNT(%1$s:%2$s)", RowHelper.getCellAddress(2, 177), RowHelper.getCellAddress(ActiveSheet.getPhysicalNumberOfRows(), 177)));
//=COUNT(FU2:FU477)
但是,這是不是很乾淨的代碼並且對於客戶在以後的使用中不會很容易。有沒有更好的方法來做到這一點?
感謝您的建議!我最終爲每種類型(JWorkbook,JSheet等)創建了新的類,就像你做的那樣,並且實現了與原始相同的接口,所以我可以將它們作爲相同的對象傳遞。 – taiidani 2010-02-22 01:37:01