从前面的位置开始计数器

时间:2016-04-11 14:12:04

标签: java

我正在编写一个程序,其中有一个计数器,基于此计数器,我需要在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
}

请告诉我如何解决此问题。

由于

1 个答案:

答案 0 :(得分:0)

您可以尝试使计数器静止:

static int counter = 0;

然后在你的循环中

rowCount+=counter;
for(int i= counter; i<rowCount;i++){
//My code
}