Bir sayacı olan bir program yazıyorum ve bu sayaca dayalı olarak Excel'de satırlar oluşturmanız gerekir.Daha önce nerede soldan bir sayaç başlatın
Bu, her çalıştırdığım zaman, 0
'dan başlar. Aşağıda benim kod
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;
}
İşte
result
doğru değeri gösteriyor, ama nasıl bir parametre olarak result
kullanabilirsiniz.
İlk dosyada oluşturulacak 10 satır ve saniyede 20 tane var.
Burada, şu anda 10 satır oluşturuluyor ve sonraki 20, ekleme yerine bir önceki yerine geçiyor. Ben sayacında result
ile ve benim for-loop
yılında güncellenir bir mantık arıyorum
Ben
for(int i= counter; i<rowCount;i++){
//My code
}
bana bunu düzeltmek nasıl bildirin lütfen kullanabilirsiniz.
Teşekkür
sizin 'int sayaç = 0 altında olup olmadığını nasıl;' hatta denilen ? Onu çevreleyen yöntem nedir? Nasıl mulitple kez denir? Arttırılmış sayacı geri dönüş değerinden elde etmek istiyorsanız, sadece yeni bir int oluşturmak yerine 'counter = appendDataToExcel' yapın ... – OliPro007