2016-04-09 22 views
0

Bu hafta sonu kendime Apache POI dersleri veriyorum. En son görevim sayısal değerlere ve boş hücrelere sahip bir sütun almak ve boş olanlara değer eklemek. Ben neredeyse bir switch deyimi ve setCellValues ​​ile bu kadar çok şey başardı düşünüyorum, ancak ben içeriğini belirli çalışma sayfası ve sütun üzerinde çalışma kitabım için geri çıktı gibi görünmüyor.Apache POI Kullanarak Belirli Bir Sütuna ve Çalışma Sayfasına Nasıl Çıkarım?

Aşağıda aşağıda yazdıklarım var. Veri, yönteme çekilir.

Random randomNum = new Random(); 
     double randomD = randomNum .nextDouble(); 


     for (Row row : sheet2) { 
      for (Cell cell : row) { 

       switch (cell.getCellType()) { 
        case Cell.CELL_TYPE_NUMERIC: 
        System.out.println(cell.getNumericCellValue()); 
         break; 
        case Cell.CELL_TYPE_BLANK: 
        cell.setCellValue(randomD); 
        FileOutputStream fileOut = new FileOutputStream("C:/Users/testtest/Desktop/Test/ProductTests.xls"); 
        wb.write(fileOut); 
        fileOut.close(); 
         System.out.println(cell.getNumericCellValue()); 
         break; 
        default: 
         System.out.println(); 
       } 
      } 
     } 

cevap

1

İlk: tüm değişiklikleri

yerine getirdikten sonra her hücre üzerinde tüm dosyayı yazmaya kalkmayın, sadece sonunda bunu

İkincisi: Aynı dosyaya yazmak için hiçbir şans mı Yükleme için kullandığınız POI, değişikliklerin yerinde yazılmasını desteklemiyor (henüz).

+0

Bunu yayınladıktan kısa bir süre sonra, dosyaya yazamayacağımı anladım ve bunu yapmadan da bunları yapabildim. Cevabınız için teşekkür ederim. –