Невозможно записать несколько строк в Excel с использованием данных POI, но я могу написать каждую ячейку, упомянув номер строки и столбца - PullRequest
0 голосов
/ 04 июля 2019

У меня есть несколько строк, поэтому я хотел бы записать все эти строковые значения в Excel без статического указания номеров строк и столбцов. Динамически он должен задавать строку за строкой в ​​Excel, у вас есть какой-нибудь фрагмент кода, чтобы написать огромный данные в Excel, это поможет мне полностью.

public void VerifyToWriteTaxValues() throws IOException {
    String valueEI = processpay.taxesEIvalue.getAttribute("value");
    String valueQPIP = processpay.taxesQPIPvalue.getAttribute("value");
    String valuecpp = processpay.taxesCPPvalue.getAttribute("value");
    String valueQPP = processpay.taxesQPPvalue.getAttribute("value");
    String valueIT = processpay.taxesITvalue.getAttribute("value");
    String valueQTax = processpay.taxesQTAXvalue.getAttribute("value");

    excel.setCellData(path, "compare_Calculatepay_to_YTD", 1, 6, valueEI);
    excel.setCellData(path, "compare_Calculatepay_to_YTD", 1, 7, valueQPIP);
    excel.setCellData(path, "compare_Calculatepay_to_YTD", 1, 8, valuecpp);
    excel.setCellData(path, "compare_Calculatepay_to_YTD", 1, 9, valueQPP);
    excel.setCellData(path, "compare_Calculatepay_to_YTD", 1, 10, valueIT);
    excel.setCellData(path, "compare_Calculatepay_to_YTD", 1, 11, valueQTax);
}

вот код набора данных Excel

    public String setCellData(String xlfile,String xlsheet,int rownum,int 
    colnum,String data) {
    try {
    fi=new FileInputStream(xlfile);
    wb=new XSSFWorkbook(fi);

    ws=wb.getSheet(xlsheet);
    row=ws.getRow(rownum);
    if(row==null) {
    row=ws.createRow(rownum);
    }
    cell=row.getCell(colnum,Row.MissingCellPolicy.RETURN_BLANK_AS_NULL);
    if(cell==null) {
    cell=row.createCell(colnum);
    cell.setCellValue(data);
    }else {
        cell.setCellValue(data);
    }
    fo=new FileOutputStream(xlfile);
    wb.write(fo);       
    wb.close();
    fi.close();
    fo.close();
    return data;
    }catch(Exception e) {
    System.out.println("The set data exception is"+e);




    return data;
     }
    }

здесь я могу установить в одну ячейку упоминание номера строки и номера столбца, далее он будет длинным, я не могу упоминать каждый раз, когда номер строки и столбца. Вы можете предоставить фрагмент кода

это я пытался сохранить элементы в списке, но в Excel он заполняет список элементы в одну клетку

String[] taxvalues= {valueEI,valueQPIP,valuecpp,valueQPP,valueIT,valueQTax};
  List<String> list=new ArrayList<>(Arrays.asList(taxvalues));
  System.out.println("list of tax values are:"+list);
  String str=list.toString();
  for(int row=1;row<=6;row++) {
  for(int column=1;column<=1;column++) {
  String writeEI = excel.setCellData(path,"Sheet4", row, column,str);
  }
  }

см. Прикрепленное изображение Excelsheet, там в каждой ячейке должен быть задан формат столбца C, но в столбце B, как в приведенном выше коде, он устанавливает данные в Excel, за исключением поля типа C в столбце, плз. он не будет тренироваться по списку, так как мы сохранили в списке, и этот список печатается в каждой ячейке как столбец B, как iam, за исключением записи строковых значений согласно столбцу C

...