Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Java i manipulisanje Excell fajlovima

[es] :: Java :: Java i manipulisanje Excell fajlovima

[ Pregleda: 1845 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
213.244.209.*

Sajt: biske.rs


+39 Profil

icon Java i manipulisanje Excell fajlovima30.08.2009. u 18:56 - pre 178 meseci
Pokušavam na iskompajliram i pokrenem program koji kreira i vrši upis odnosno čitanje iz excell fajla. Skinuo sam sa interneta klase poi-3.2, ubacio ih u eclipse i probao da kompajliram ali mi javlja dve greške. Ukoliko neko zna rešenje molim za pomoć.
Evo i ove dve klase koje kompajliram..


Code:
import java.util.*; 
import java.io.*; 
import java.sql.*; 

import org.apache.poi.hssf.usermodel.HSSFCell; 
import org.apache.poi.hssf.usermodel.HSSFRow; 
import org.apache.poi.hssf.usermodel.HSSFSheet; 
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
import org.apache.poi.util.StringUtil; 
/* 
 *  Parser.java 
 *   Parsiranje ulaznog excel fajla, i smestanja rezultata u Kolekciju objekata 
 *  Kolekcija se prosledjuje u bazu 
 */ 
public class Parser { 
   protected HSSFWorkbook hssfWorkbook;                      // Ulazni excel fajl 
   private String filename;                               // Naziv ulaznog fajla 
   private Vector kasaArtikli; 
   private StringBuffer logFile; 
    
   public Parser(String p_filename){ 
         setLogFile(new StringBuffer());       
         this.filename = p_filename; 
         try { 
            InputStream input = new FileInputStream(p_filename); 
            hssfWorkbook = new HSSFWorkbook( input ); 
         }     
         catch (FileNotFoundException e) { e.printStackTrace();} 
         catch (IOException e) {   e.printStackTrace();} 
   } 
   // Parsiranje pojedinicanog artikla 
   public void parseWorkbook() { 
      kasaArtikli = new Vector(); 
      HSSFSheet sheet1 = hssfWorkbook.getSheetAt(0); 
      try { 
         int i = 0; 
         while(true) { 
            HSSFRow r_temp = sheet1.getRow(i); 
            if(r_temp == null) { 
               i++; 
               continue; 
            } 
            if(getCellValue(r_temp, r_temp.getCell(0)).equals("1.") ) 
               break; 
            i++; 
         } 
         System.out.println(i); 

         while (true) {    
            HSSFRow row = sheet1.getRow(i); 
            if(getCellValue(row, row.getCell(0)).equals("UKUPN")) { 
               System.out.println("Ushao u Break"); 
               break; 
            } else { 
            KasaArtikalRow tempRow = new KasaArtikalRow( 
                                       getCellValue(row, row.getCell(1)) , 
                                       getCellValue(row, row.getCell(2)) ,  
                                       getCellValue(row, row.getCell(3)) , 
                                       getCellValue(row, row.getCell(4)) , 
                                       getCellValue(row, row.getCell(5)) , 
                                       getCellValue(row, row.getCell(6)) , 
                                       getCellValue(row, row.getCell(7)) , 
                                       getCellValue(row, row.getCell(7)) 
                                       );    
            kasaArtikli.add(tempRow); 
            i++; 
            } 
         } 
      } catch (Exception exe) { exe.printStackTrace(); } 
      System.out.println(kasaArtikli.toString()); 
   } 
          
   public String getCellValue(HSSFRow p_row, HSSFCell p_cell)  { 
      String result = " "; 
      if(p_cell == null) 
         return " "; 
       
        switch (p_cell.getCellType()) 
        { 
            case HSSFCell.CELL_TYPE_FORMULA : 
                result = "" + p_cell.getCellFormula(); 
                break; 

            case HSSFCell.CELL_TYPE_NUMERIC : 
                result = "" + p_cell.getNumericCellValue(); 
                break; 
                
            case HSSFCell.CELL_TYPE_STRING : 
               result =  p_cell.getRichStringCellValue().getString().trim(); 
                break; 

            default : 
               result = ""; 
               break; 
            
        } 
        getLogFile().append(result+"\n"); 
        if (result.equals("")) 
           System.out.println("\nPrazan String"); 
        return result; 
    } 
    
   public void setHSSFWorkbook(HSSFWorkbook p_hssfWorkbook) { 
      this.hssfWorkbook = p_hssfWorkbook; 
   } 
    
   public HSSFWorkbook getHSSFWorkbook() { 
      return this.hssfWorkbook; 
   } 

   public void setKasaArtikli(Vector kasaArtikli) { 
      this.kasaArtikli = kasaArtikli; 
   } 

   public Vector getKasaArtikli() { 
      return kasaArtikli; 
   } 

   public static void main(String[] args) { 
    
   } 
   public void setLogFile(StringBuffer logFile) { 
      this.logFile = logFile; 
   } 
   public StringBuffer getLogFile() { 
      return logFile; 
   } 

}


Code:
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.io.InputStream; 

import org.apache.poi.hssf.usermodel.HSSFWorkbook; 

public class Test { 
   public static void main(String[] args) { 
      HSSFWorkbook hssfWorkbook; 
      try { 
         InputStream input = new FileInputStream("c:\\test.xls"); 
         hssfWorkbook = new HSSFWorkbook(input); 
      } 
      catch (FileNotFoundException e) {   e.printStackTrace(); } 
      catch (IOException e) {   e.printStackTrace(); } 
   } 
}



A evo i greške koju izbacuje:




[Ovu poruku je menjao biske86 dana 30.08.2009. u 20:11 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
213.244.209.*

Sajt: biske.rs


+39 Profil

icon Re: Java i manipulisanje Excell fajlovima31.08.2009. u 13:41 - pre 178 meseci
Zar mi nema pomoći?
 
Odgovor na temu

nik79
BG

Član broj: 6799
Poruke: 93
195.178.51.*



+1 Profil

icon Re: Java i manipulisanje Excell fajlovima31.08.2009. u 15:23 - pre 178 meseci
Na prvu loptu (nisam se udubljivao u kod): problem nema veze sa poi vec kompajler ne zna sta ti je KasaArtikliRow. Da li si ti to definisao negde ili da nisi zaboravio neki import.
 
Odgovor na temu

gajo2
Budapest

Član broj: 62614
Poruke: 518
*.dynamic.dsl.t-2.net.

Sajt: b.flyingoranges.com


+117 Profil

icon Re: Java i manipulisanje Excell fajlovima31.08.2009. u 16:36 - pre 178 meseci
Ne moze da pronadje klasu KasaArtikalRow, niti ja ne vidim bilo gde da si je definisao
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
213.244.209.*

Sajt: biske.rs


+39 Profil

icon Re: Java i manipulisanje Excell fajlovima31.08.2009. u 17:10 - pre 178 meseci
Nije problem sa importom poi klasa. Prethodno sam imao preko 70 grešaka kad nisam dobro referencirao ove biblioteke. Taj problem sam rešio a sad mi se pojavljuje ovo. Problem je što ove dve klase nisam pisao ja već neko drugi. Naime, našao sam na sajtu www.javasvet.rs članak koji objašnjava ukratko da je moguće da se vrši upis u excell. Postavio sam temu na njihovom forumu, čovek mi pomogao tako što je napisao ove dve klase ali kad sam ponovo na forumu pitao da mi ispravi ove dve greške nema već neko vreme niko da mi odgovori pošto je forum slabo posećen.
Ja nisam dovoljno iskusan da pišem java programe tako da ne znam da ispravim ovu grešku. Da li može neko da doradi primer ili da jednostavno napiše bilo koji drugi koji bi odrađivao ovo..Ja znam osnovne stvari u javi, ali nisam siguran oko ovoga. Možda je hteo da napiše kasaArtikli pa je slučajno pogrešio pa napisao KasaArtikalRow. Ovaj primer nema neku veliku svrhu ali sam se baš namučio oko njega pa ne bih sad da odustanem kad sam blizu. Pomagajte ako znate..
 
Odgovor na temu

574nk3
Software Developer
Freelance
Belgrade

Član broj: 38673
Poruke: 248
79.101.184.*



+33 Profil

icon Re: Java i manipulisanje Excell fajlovima31.08.2009. u 19:35 - pre 178 meseci
Pa vidiš te dve klase sam ti igrom slučaja ja poslao na javasvet ... Nisam ih tada napisao već samo copy paste iz nekog mog postojećeg projekta, da vidiš kako možeš da upotrebiš apache-poi ...
U ovom slučaju kod neće da ti se kompajlira jer nemaš klasu KasaArtikalRow ... Ti si kao pitanje tražio pomoć da ti se razreši konflikt oko uvoza paketa ...
Iz screenshota se vidi da si poslušao preporuke, pa sada nema problema sa time... već sa klasom koju nemaš u projektu.

Jednostavno izbriši klasu Parser.java, i kompajliraj klasu Test.java videćeš da ti si korektno uvezao poi pakete.
Sada je na tebi da napraviš program koji si već imao u planu ... Bolje prouči osnove Jave pre nego što se upustiš u korišćenje dodatnih paketa(možda zvuči arogantno ... ali iskren savet) ...

Primeri sa oficijelnog sajta
http://poi.apache.org/spreadsheet/how-to.html
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
213.244.208.*

Sajt: biske.rs


+39 Profil

icon Re: Java i manipulisanje Excell fajlovima31.08.2009. u 21:22 - pre 178 meseci
Ne znam javu, tek je učim. Problem je što trenutno učim Orakl pa nemam vremena da dublje studiram programski kod Jave. Mislio sam da mi neko napravi najjednostavniji program koji kreira excell fajl samo da vidim kako to izgleda. Planiram da naučim javu da bi pravio aplikacije za Orakl.

U svakom slučaju hvala na odgovorima na forumu, puno mi je pomoglo..
 
Odgovor na temu

[es] :: Java :: Java i manipulisanje Excell fajlovima

[ Pregleda: 1845 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.