1

我正在尝试查找一列并将其删除,但我不知道删除一列的方法是什么。

我尝试删除单元格,代码如下。但我想删除完整的列。

HSSFRow row = (HSSFRow)Sheet.GetRow(r);
HSSFCell newCell = (HSSFCell)row.GetCell(nIndex);
row.RemoveCell(newCell);

上面的代码只是清除单元格的内容。不要删除单元格。我现在循环所有行以清除特定列的所有单元格。

现在,我正在搜索一种叫做列移位的东西,但似乎没有办法解决这个问题。请让我知道是否有用于列移位的 NPOI 方法。

.net Framework-3.5 VS 2008 NPOI(1.2.5.0)

4

1 回答 1

3

现在我只能想到一种方法:清除列并从其他列复制值。因此该列不会被删除,而是向右移动(到其他空列)。我不知道它如何与公式一起使用,但对于简单的文本或数字应该没问题。
示例代码:

FileStream fs = new FileStream(filePaths[i], FileMode.Open, FileAccess.ReadWrite);
HSSFWorkbook templateWorkbook = new HSSFWorkbook(fs, true);
ISheet sheet = templateWorkbook.GetSheet("Input");
for (int h = 0; h <= sheet.LastRowNum; h++)
{
    IRow row = sheet.GetRow(h);
    row.RemoveCell(row.GetCell(cellIndex)); //Remove cell value
    row.Cells[cellIndex].SetCellValue(row.Cells[cellIndex + 1].StringCellValue); //Copy right column values to left
}
于 2012-08-09T04:37:11.160 回答