#java #apache-poi
Вопрос:
Мне нужно выполнить эти проверки, но когда я пытаюсь получить значение из строки b4, я получаю ошибку, потому что параметр строки получает строку из cellReferenceC3 «строка 3», но мне нужно из строк 3 и 4, c3 и b4
Row row = sheet.getRow(cellReferenceC3.getRow());
частная логическая валидация (InputStream arquivoCancelamento) вызывает исключение IOException{
XSSFWorkbook wb = new XSSFWorkbook(arquivoCancelamento);
wb.setForceFormulaRecalculation(true);
Sheet sheet = wb.getSheetAt(0);
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
String celulaB3 = "Nu00FAmero do Cartu00E3o ";
String celulaC3 = "Nu00FAmero Pedido";
String celulaD3 = "Motivo de Cancelamento";
String celulaE3 = "Observau00E7u00E3o";
String celulaB4 = "";
boolean val = false;
CellReference cellReferenceB3 = new CellReference("B3");
CellReference cellReferenceC3 = new CellReference("C3");
CellReference cellReferenceD3 = new CellReference("D3");
CellReference cellReferenceE3 = new CellReference("E3");
CellReference cellReferenceB4 = new CellReference("B4");
Row row = sheet.getRow(cellReferenceC3.getRow());
Cell cellB3 = row.getCell(cellReferenceB3.getCol());
Cell cellC3 = row.getCell(cellReferenceC3.getCol());
Cell cellD3 = row.getCell(cellReferenceD3.getCol());
Cell cellE3 = row.getCell(cellReferenceE3.getCol());
Cell cellB4 = row.getCell(cellReferenceB4.getCol());
if ((cellReferenceB3!=null amp;amp; celulaB3.equals(cellB3.getStringCellValue() ))
amp;amp; (cellReferenceC3!=null amp;amp; celulaC3.equals(cellC3.getStringCellValue() ))
amp;amp; (cellReferenceD3!=null amp;amp; celulaD3.equals(cellD3.getStringCellValue() ))
amp;amp; (cellReferenceE3!=null amp;amp; celulaE3.equals(cellE3.getStringCellValue() ))
amp;amp; (cellReferenceB4!=null)
Комментарии:
1. Использовать ссылку на область ?
Ответ №1:
Почему бы не так, то есть иметь две ссылки, одну на строку 3 и одну на строку 4?
XSSFWorkbook wb = new XSSFWorkbook(arquivoCancelamento);
wb.setForceFormulaRecalculation(true);
Sheet sheet = wb.getSheetAt(0);
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
String celulaB3 = "Nu00FAmero do Cartu00E3o ";
String celulaC3 = "Nu00FAmero Pedido";
String celulaD3 = "Motivo de Cancelamento";
String celulaE3 = "Observau00E7u00E3o";
String celulaB4 = "";
boolean val = false;
CellReference cellReferenceB3 = new CellReference("B3");
CellReference cellReferenceC3 = new CellReference("C3");
CellReference cellReferenceD3 = new CellReference("D3");
CellReference cellReferenceE3 = new CellReference("E3");
CellReference cellReferenceB4 = new CellReference("B4");
Row row3 = sheet.getRow(cellReferenceC3.getRow());
Cell cellB3 = row3.getCell(cellReferenceB3.getCol());
Cell cellC3 = row3.getCell(cellReferenceC3.getCol());
Cell cellD3 = row3.getCell(cellReferenceD3.getCol());
Cell cellE3 = row3.getCell(cellReferenceE3.getCol());
Row row4 = sheet.getRow(cellReferenceB4.getRow());
Cell cellB4 = row4.getCell(cellReferenceB4.getCol());