我正在编写一个程序,其中有一个计数器,基于此计数器,我需要在Excel中创建行。
目前,每次运行时都会从0
开始。以下是我的代码
int counter = 0;
if (ext.contains("xls")) {
int result = appendDataToExcel(file, workbook, rowCount, counter);
System.out.println(result);
}
private static int appendDataToExcel(File file, XSSFWorkbook workbook, int rowCount, int counter) throws Exception {
String path = file.getAbsolutePath();
FileInputStream fin = new FileInputStream(new File(path));
XSSFWorkbook wb = new XSSFWorkbook(fin);
XSSFSheet sheet1 = wb.getSheetAt(0);
int noOfRows = sheet1.getPhysicalNumberOfRows();
XSSFSheet sheet = workbook.getSheetAt(0);
short lastCell;
Cell cell;
XSSFRow row;
lastCell = workbook.getSheetAt(0).getRow(0).getLastCellNum();
for (int i = 0; i < noOfRows; i++) {
row = sheet.getRow(i);
cell = row.createCell(lastCell);
cell.setCellValue(sheet1.getRow(i).getCell(1).toString());
counter += 1;
}
wb.close();
fin.close();
return counter;
}
此处result
显示正确的值,但我如何使用result
作为参数。
第一个文件中有10行,第二个文件中有20行。
此处,目前创建了10行,接下来的20行正在替换前一行而不是追加。
我正在寻找一个逻辑,在计数器中使用result
进行更新,在for-loop
我可以使用
for(int i= counter; i<rowCount;i++){
//My code
}
请告诉我如何解决此问题。
由于
答案 0 :(得分:0)
您可以尝试使计数器静止:
static int counter = 0;
然后在你的循环中
rowCount+=counter;
for(int i= counter; i<rowCount;i++){
//My code
}