4

を使用してセルを削除しようとします:

HSSFCell cell = sheet.getRow(0).getCell(i);
sheet.getRow(0).removeCell(cell);

これで値がクリアされるはずだと思ったのですが、セルの値が「012345678」から「0」に変わってしまいました。セルの型は常に文字列です。

また、セルにはコメントがあり、どちらも削除されていません。次に、上記の 2 つの間に次のステートメントを追加します。

cell.removeCellComment();

うまくいきませんでした。やり忘れたことはありますか?前もって感謝します。

4

3 に答える 3

2

コードに問題はありません。セルを削除した後、変更を保存することを覚えていますか?次のコードは私にとってはうまく機能します。

String xlsxPath = "C:\\path\\test.xlsx";

Workbook wb = WorkbookFactory.create(new FileInputStream(xlsxPath));

// get first row
Row row = wb.getSheetAt(0).getRow(0);

// remove second cell from first row
row.removeCell(row.getCell(1));

// save changes
FileOutputStream fileOut = new FileOutputStream(xlsxPath);
wb.write(fileOut);
fileOut.close();
于 2012-09-06T15:13:06.500 に答える
0

セル値を null または空の文字列に設定することができます。

于 2012-09-06T16:22:59.240 に答える
0

私も同じ問題であり、私の解決策は新しいものではありません。テーブルのコピーを作成し、必要な元のテーブルのセルを除外してから元のテーブルを削除することです

        int originalTablePos = paragrah.getDocument().getPosOfTable(Original_Table);
        // copy table from original to new table
        paragrah.getDocument().removeBodyElement(originalTablePos);

これが同じ問題を抱えている他の人に役立つことを願っています

ご挨拶

于 2020-05-21T09:53:15.957 に答える