Я пытаюсь создать функцию на Java, которая удаляет столбец из таблицы Word с именем заголовка «Серьезный». Пожалуйста, найдите эту функцию ниже. Когда я запускаю код, ничего не происходит. У кого-нибудь были проблемы с использованием функции removeCell?
public static void remCells(XWPFTable table) {
for (int rowIndex = 0; rowIndex < table.getNumberOfRows(); rowIndex++) {
XWPFTableRow row = table.getRow(rowIndex);
for (int colIndex = 0; colIndex < row.getTableCells().size()-1; colIndex++) {
XWPFTableCell cell = row.getCell(colIndex);
if (table.getRow(5).getCell(colIndex).getText().equals("Serious")) {
row.removeCell(colIndex);
}
}
}
}
не могли бы вы рассказать мне, как это сделать, вы имеете в виду, что я должен поставить try / catch?
Я имею в виду, просто распечатайте результат row.removeCell(colIndex) с System.out.println или в файл журнала
PrintStream не применяется для аргументов (недействительно)
ждать. какую версию apache-poi вы используете? потому что он должен вернуть логическое значение.
здесь точно такая же проблема, удалось ли найти решение?




Нашел решение здесь: https://www.codota.com/code/java/methods/org.apache.poi.xwpf.usermodel.XWPFTableRow/removeCell
Мы должны сделать
row.getCtRow().removeTc(colIndex);
перед
row.removeCell(colIndex);
Рабочий ответ. Странный факт: удаление строки не требует getCTTbl (). RemoveTr (index) и отлично работает только с removeRow (index)
не могли бы вы сначала проверить результат вызова метода
removeCell?