2012-06-30 12 views
11

Chcę utworzyć dołączany arkusz programu Excel. Podobnie jak mam cztery kolumny stream1 stream2 stream3 stream4jak utworzyć wyodrębnione excelsheet za pomocą java

po raz pierwszy wstawiam tylko pierwszą kolumnę danych (stream1) po tym chcę wypełnić pełne kolumny po kolei.

jest to kod, który używam:

public void createFile(Jqueue stream1, Jqueue stream2, Jqueue stream3, Jqueue stream4) { 
    try { 

     String filename = "path"; 
     boolean alreadyExists = (new File(filename)).exists(); 

     HSSFRow rowhead = sheet1.createRow((short) 0); 
     rowhead.createCell((short) 0).setCellValue("Stream 1"); 
     rowhead.createCell((short) 1).setCellValue("Stream 2"); 
     rowhead.createCell((short) 2).setCellValue("Stream 3"); 
     rowhead.createCell((short) 3).setCellValue("Stream 4"); 


     int i = 1; 
     while (!stream1.isEmpty()) { 
      String urlstream1 = ""; 
      String urlstream2 = ""; 
      String urlstream3 = ""; 
      String urlstream4 = ""; 
      HSSFRow row = sheet1.createRow((short) i); 
      try { 
       if (stream1.size() > 0) { 
        urlstream1 = stream1.dequeue().toString(); 
       } 
      } catch (Exception ex) { 
      } 
      try { 
       if (stream2.size() > 0) { 
        urlstream2 = stream2.dequeue().toString(); 
       } 
      } catch (Exception ex) { 
      } 
      try { 
       if (stream3.size() > 0) { 
        urlstream3 = stream3.dequeue().toString(); 
       } 
      } catch (Exception ex) { 
      } 
      try { 
       if (stream4.size() > 0) { 
        urlstream4 = stream4.dequeue().toString(); 
       } 
      } catch (Exception ex) { 
      } 
      row.createCell((short) 0).setCellValue(urlstream1); 
      row.createCell((short) 1).setCellValue(urlstream2); 
      row.createCell((short) 2).setCellValue(urlstream3); 
      row.createCell((short) 3).setCellValue(urlstream4); 
      i++; 
     } 

     FileOutputStream fileOut = new FileOutputStream(filename); 
     hwb.write(fileOut); 
     fileOut.close(); 

Ale to nie jest w stanie dołączyć-code. wstawianie danych wiersz po wierszu.

thx w wersji zaawansowanej.

Odpowiedz

1

Przypuszczam, że powinna to zrobić niewielka zmiana w kodzie.

próby wymiany

int i = 1;

z następujących:

int i = sheet1.getLastRowNum() + 1;

Konieczna byłaby także zmiana implementacji w celu nieco czytania i zapisywania plików.

Powiązane problemy