2010-11-16 570 views
7

我正在使用POI來處理大學項目的Excel文件中的數據。我無法在現有的Excel中插入新列。我試圖使用Apache POI:如何在Excel文件中插入列

Cell c = createCell(int column); 
c.setCellValue("someValue"); 

但似乎如果列已經存在,它會替換現有的數據。我需要的是當我插入新的一列時,將所有其他列向右移一列。

我在互聯網上搜索,但我找不到解決方案。有沒有辦法做到這一點,而不是迭代行中的所有單元格並逐一移動它們?

回答

6

據我所知,POI不直接支持這一點。您可以創建工作表的副本並複製數據,爲您的新列留出空間。您還需要考慮是否需要重新編寫超出插入點的列中的任何公式以及使用這些單元格的任何公式。

1

根據我從Google獲得的「poi插入列」中的this post,POI目前沒有API來執行此操作。您需要遍歷行並自行調整所有引用。

+0

聽起來像插入一列可能是昂貴的,除了最小的工作簿。 – IceArdor 2015-05-06 07:16:07