Hem > Java > Läsa Excel Sheet dokument i Java

Läsa Excel Sheet Dokument i Java

Av någon anledning fann jag Apache POI svår att använda för att läsa Excel-blad, när det gäller namngivning och koden så jag letade efter en annan biblioteket för att läsa Excel-blad i Java och jag stannade på JXL.

Java Excel API nämligen JXL är en Java-baserade API som tillåter oss att läsa / skriva / redigera Excel-ark. Det viktigaste tror jag tyckte om det var dess enkelhet över Apache POI Package. Denna artikel kommer att visa dig hur vi kan läsa Excel-ark med JXL.

Nu här jag kommer att läsa ett Excel-blad med innehållet:

EmpId Namn Utseende
1 ABC Software Engineer
2 DFG Sr Software Engineer
3 LOI Team Leader
4 LKJ Projektledare
5 QWE Programvara Architech

Din e-post:


Jag har lagt upp samma Excel-blad på servern kan du ladda ner det härifrån: Ladda ner Excel Sheet

  1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 ; import java.io.FileInputStream ; import java.io.IOException ; import java.io.InputStream ; import java.util.Locale ; import jxl.Cell ; import jxl.Sheet ; import jxl.Workbook ; import jxl.WorkbookSettings ; import jxl.read.biff.BiffException ; import jxl.DateCell ; public class ReadXLSheet { public void init ( String filePath ) { FileInputStream fs = null ; try { fs = new FileInputStream ( new File ( filePath ) ) ; contentReading ( fs ) ; } catch ( IOException e ) { e. printStackTrace ( ) ; } catch ( Exception e ) { e. printStackTrace ( ) ; } finally { try { fs. close ( ) ; } catch ( IOException e ) { e. printStackTrace ( ) ; } } } //Returns the Headings used inside the excel sheet public void getHeadingFromXlsFile ( Sheet sheet ) { int columnCount = sheet. getColumns ( ) ; for ( int i = 0 ; i < columnCount ; i ++ ) { System . out . println ( sheet. getCell ( i, 0 ) . getContents ( ) ) ; } } public void contentReading ( InputStream fileInputStream ) { WorkbookSettings ws = null ; Workbook workbook = null ; Sheet s = null ; Cell rowData [ ] = null ; int rowCount = '0' ; int columnCount = '0' ; DateCell dc = null ; int totalSheet = 0 ; try { ws = new WorkbookSettings ( ) ; ws. setLocale ( new Locale ( "en" , "EN" ) ) ; workbook = Workbook. getWorkbook ( fileInputStream, ws ) ; totalSheet = workbook. getNumberOfSheets ( ) ; if ( totalSheet > 0 ) { System . out . println ( "Total Sheet Found:" + totalSheet ) ; for ( int j = 0 ; j < totalsheet ; j ++ ) { System . out . println ( "Sheet Name:" + workbook. getSheet ( j ) . getName ( ) ) ; } } //Getting Default Sheet ie 0 s = workbook. getSheet ( 0 ) ; //Reading Individual Cell getHeadingFromXlsFile ( s ) ; //Total Total No Of Rows in Sheet, will return you no of rows that are occupied with some data System . out . println ( "Total Rows inside Sheet:" + s. getRows ( ) ) ; rowCount = s. getRows ( ) ; //Total Total No Of Columns in Sheet System . out . println ( "Total Column inside Sheet:" + s. getColumns ( ) ) ; columnCount = s. getColumns ( ) ; //Reading Individual Row Content for ( int i = 0 ; i < rowCount ; i ++ ) { //Get Individual Row rowData = s. getRow ( i ) ; if ( rowData [ 0 ] . getContents ( ) . length ( ) != 0 ) { // the first date column must not null for ( int j = 0 ; j < columnCount ; j ++ ) { switch ( j ) { case 0 : System . out . println ( "Employee Id:" + rowData [ j ] . getContents ( ) ) ; case 1 : System . out . println ( "Employee Name:" + rowData [ j ] . getContents ( ) ) ; case 2 : System . out . println ( "Employee Designation:" + rowData [ j ] . getContents ( ) ) ; default : break ; } } } } workbook. close ( ) ; } catch ( IOException e ) { e. printStackTrace ( ) ; } catch ( BiffException e ) { e. printStackTrace ( ) ; } } public static void main ( String [ ] args ) { try { ReadXLSheet xlReader = new ReadXLSheet ( ) ; xlReader. init ( "/home/hitesh/Desktop/test.xls" ) ; } catch ( Exception e ) { e. printStackTrace ( ) ; } } } import java.io.File, import java.io.FileInputStream, import java.io.IOException, import java.io.InputStream, import java.util.Locale, import jxl.Cell, import jxl.Sheet, import jxl.Workbook; import jxl.WorkbookSettings, import jxl.read.biff.BiffException, import jxl.DateCell, public class ReadXLSheet (public void init (String filePath) (FileInputStream FS = null; try (FS = new FileInputStream (ny fil (filePath)), contentReading (FS);) catch (IOException e) (e. printStackTrace ();) catch (Exception e) (e. printStackTrace ();) slutligen (try (fs. stäng ();) catch (IOException e) (e . printStackTrace ();))) / / Returnerar de rubriker som används inne i Excel-blad public void getHeadingFromXlsFile (Tunnplåt) (int AntalKolumner = blad. getColumns (); for (int i = 0; i <AntalKolumner, i + +) (System. ut. println (sheet. getCell (i, 0). getContents ());)) public void contentReading (InputStream fileInputStream) (WorkbookSettings var = null; arbetsbok Arbetsboken = null; Sheet s = null; Cell rowData [] = null; int rowCount = "0"; int AntalKolumner = "0"; DateCell dc = null; int totalSheet = 0; try (var = new WorkbookSettings (); var. setLocale (ny Locale ("sv", "EN" )); arbetsbok = arbetsbok. getWorkbook (fileInputStream var), totalSheet = arbetsbok. getNumberOfSheets (); om (totalSheet> 0) (System. ut. println ("Totalt Sheet Hittade:" + totalSheet) for (int j = 0, j <totalsheet, j + +) (System. ut. println ("Sheet Namn:" + arbetsbok. getSheet (j). getName ());)) / / Hitta Standard Sheet dvs 0 s = arbetsbok. getSheet ( 0), / / Läsa enskild cell getHeadingFromXlsFile (s), / / Totalt Totalt Inga rader i blad, kommer du tillbaka några rader som är upptagna med något datasystem. ut. println ("Totalt antal rader inuti Sheet:" + s . getRows ()); rowCount = s. getRows (); / / Totalt Totalt antal kolumner i Sheet System. ut. println ("Totalt Kolumn inuti Sheet:" + S. getColumns ()); AntalKolumner = s. getColumns ( ), / / avläsa enstaka radinnehåll for (int i = 0; i <rowCount, i + +) (/ / Hämta Individuella Row rowData = s. getRow (i), om (rowData [0]. getContents (). längd ()! = 0) (/ / om den första dagen kolumnen inte får null for (int j = 0, j <AntalKolumner, j + +) (switch (j) (fall 0: systemet. ut. println ("Employee Id: "+ rowData [j]. getContents ()); Fall 1: System. ut. println (" Anställd: "+ rowData [j]. getContents ()); fall 2: System. ut. println (" Employee beskrivning: "+ rowData [j]. getContents ()); default: break;)))) arbetsbok. stäng ();) catch (IOException e) (e. printStackTrace ();) catch (BiffException e) (e. printStackTrace ( );)) public static void main (String [] args) (try (ReadXLSheet xlReader = new ReadXLSheet (); xlReader. init ("/ home / Hitesh / Desktop / test.xls");) catch (Exception e) ( e. printStackTrace ();))) 
 Totalt Sheet Hittat: 3 --------------------------------------------- - Blad Namn: Blad1 Sheet Namn: Sheet2 Sheet Namn: Sheet3 ------------------------------------- --------- kolumnrubrik: EmpId kolumnrubrik: Namn Kolumn Rubrik: ----------------------------- Utseende ----------------- Totalt antal rader inne Sheet: 6 --------------------------- ------------------- Totalt Kolumn inne Sheet: 3 ------------------------- --------------------- Anställningsnr: EmpId Anställd: Namn Anställd Beteckning: Utseende ----------------- ----------------------------- Anställningsnr: 1 Anställd: ABC Anställd Beteckning: Software Engineer -------- -------------------------------------- Anställningsnr: 2 anställda Namn: DFG anställda Beteckning: Sr Software Engineer ---------------------------------------------- Anställningsnr : 3 Anställd Namn: LOI anställda Utseende: Team Leader --------------------------------------- ------- Anställningsnr: 4 Anställd: LKJ anställda Beteckning: Projektledare ------------------------------ ---------------- Anställningsnr: 5 anställda Namn: QWE Anställd Beteckning: Software Architect 

När det gäller följande skriftliga kod jag kan utföra följande operation:

  • Beräkna totala ingen ark inne i Excel-ark
  • Lista alla Sheet Namn som används inuti Excel Sheet
  • Läs enskild cell för att ange cellens position - i kod har läst kolumnrubriken dvs 1: a raden
  • Läs totalt modifierat rader i Excel Sheet
  • Läs totalt modifierat kolumner i Excel-ark
  • Läs Enskilda radinnehåll


Anpassad sökning

Populära artiklar:

Dela och njut:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: Kategorier: Java Taggar:
  1. 26 december 2008 kl 10:05 | # 1

    Om jag måste skriva denna kod med POI, att utföra de uppgifter som du har gjort, skulle koden ha varit ganska likartade med mycket likartade API-anrop. Jag ser svårigheterna som de mer eller mindre samma jämfört med POI. Min fråga är hur detta skiljer sig från sevärdhet?

  2. 28 december, 2008 kl 22:36 | # 2

    Hej Surya,
    Skillnad kommer med paketet namnkonventionen används. JXL är enbart används för Excel i Java. Om som i Apache POI finns det olika projekt ut för olika Microsoft Office-filer, t.ex. HWPF, HSSF, HPSF mm Nu som en utvecklare måste du kontrollera vilket en om för Excel Analysera, hämta paketet och sedan genomföra den.

  3. 2 jan 2009 kl 11:58 | 3 #

    Hej,
    Jag gillade din läraren.
    Manish

  4. Avijit
    6 januari 2009 kl 04:10 | # 4

    det finns ett problem samtidigt som flera ark i xls-fil. Jag vill accsess flera ark värden på en gång, men den returnerar en ovelap värde av två blad.

    men den läraren är för bra.
    plz lösa problemet

  5. 6 januari 2009 kl 04:44 | # 5

    Hej Avijit,
    Kan du klistra in källkoden du använder.

    Hitesh Agarwal

  6. Vivek Mittal
    11 januari 2009 kl 14:08 | # 6

    Hej Hitesh,
    Very nice tutorial man. Keep it up

  7. Abhishek
    18 februari 2009 kl 07:55 | # 7

    Hej Hitesh,

    Bra jobbat mannen. Jag hade en fråga. Är det möjligt att skriva makron i Excel i Java och utföra dessa makron medan du arbetar med kalkylbladet.

    Tack
    Abhi

  8. seeraz
    29 Maj 2009 kl 02:41 | # 8

    Stor läraren, thx en lottt ...

  9. Moha
    2 juni 2009 kl 07:38 | # 9

    Hej,

    Först och främst, tack för handledningen.
    Jag har ett problem. Jag har hämtat api, men jag vet inte var den ska sparas i förmörkelse. Anledningen är att jag putted de uppackade filerna i api i plugin mappen men programmet du gav som exempel fortfarande begär jxl.
    Skulle ni kunna hjälpa?
    Tack.

  10. Rohan
    1 september, 2009 kl 04:40 | # 10

    Very nice xls läsa koden .. än en lott.

  11. barakha
    2 september, 2009 kl 01:30 | # 11

    mycket trevlig tutorial fro excel läsa. Tack

  12. Uma
    10 september, 2009 kl 21:19 | # 12

    hur man läser data från Excel-fil med kolumnnamn.
    Säg till exempel,
    Ort Land
    Chennai Indien
    Mumbai Indien
    Behovet av att läsa med hjälp av kolumnen ort, land.
    Behag hjälpa mig ute.

  13. Qing
    Oktober 13, 2009 kl 18:06 | # 13

    Hej, Om Excel-filen har 18bm, hur man läser?

  14. id
    15 okt 2009 kl 13:17 | # 14

    hej ..
    Jag försöker köra yr program men den håller på att ge mig rätt java version 50,0 bör 49,0.

    Dosent JXL arbeta med Java 1,5?
    Låt mig veta om det finns anythign im saknas?

  15. James Zhao
    23 oktober, 2009 kl 14:36 | # 15

    Hur kan man infoga en ny rad i plåten?
    Hur kan vi kopiera den befintliga raden format till en ny rad?

  16. Swamy
    28 okt 2009 kl 06:03 | # 16

    Hej Hitesh,

    Nice bibliotek, fortsätt med det, användbara för människor.
    Hur kan vi infoga en ny rad i plåten?
    Hur kan vi kopiera den befintliga raden format till en ny rad?

    Rgds
    Swamy.

  17. Suresh
    30 Oktober 2009 kl 22:31 | # 17

    Suresh Hitesh,

      Fint exempel.  Tutorial är mycket bra.
     Jag har ett problem med att läsa data från Excel Sheet om Excel Sheet uppgifterna inte från första kolumnen.  Om Excel ark data inte är i en tablar form
     sedan hur man läser data från Excel Sheet. 
  18. Suresh
    30 Oktober 2009 kl 22:47 | # 18

    hej Hitesh,

      Jag havae ett problem med läsning
     data från Excel Sheet.If Excel-ark
     Uppgifterna är inte i en tabler form sedan hur
     läsa data.  Jag kör samma exempel men det
     stiger ArrayIndexOutOfBounds Exception.
     Plz tala Lösningen på det här problemet .....
    
  19. divs
    10 november 2009 kl 05:31 | # 19

    Hej Hitesh,
    Handledningen var av G8 hjälp

    Tack

  20. Ganesh
    10 november 2009 kl 23:23 | # 20

    Hej Hitesh,

    Jag fick följande undantag när jag försökte köra ReadXLSheet.java.

    jxl.read.biff.BiffException: Det går inte att erkänna OLE ström
    på jxl.read.biff.CompoundFile. (CompoundFile.java: 116)
    på jxl.read.biff.File. (File.java: 127)
    på jxl.Workbook.getWorkbook (Workbook.java: 268)
    på com.sample.ReadXLSheet.contentReading (ReadXLSheet.java: 65)
    på com.sample.ReadXLSheet.init (ReadXLSheet.java: 30)
    på com.sample.ReadXLSheet.main (ReadXLSheet.java: 20)

    Vad kan vara orsaken till detta.

    Inledningsvis fick jag följande undantag när jag försökte köra ReadXLSheet.java.

    java.lang.UnsupportedClassVersionError: felaktigt nummer i. klass-fil

    Senare i efterkom jexcelapi_2_6_12 källa med min JVM och använt den skapade burken. Nu är jag inte får den här misstag men jag får
    jxl.read.biff.BiffException. kanna fullständig behag hjälpa mig att lösa denna fråga.

    tack,
    Ganesh

  21. 14 november 2009 kl 10:04 | # 21

    Hej Ganesh,
    Har inte stött på detta fel. Måste kolla in detta.

    Tack,
    Hitesh Agarwal

  22. 30 november 2009 kl 23:03 | # 22

    Hej Hitesh,
    Thanku för ur kommentarer och handledning.
    Jag har ett problem som gäller Excel-blad.
    Jag har två Excel-blad, båda är på samma system.
    om jag ändrar i ett Excel-blad, då påverkar den andra Excel-arket.
    Jag kan pinga andra system och kan skicka meddelandet det andra systemet med hjälp av socket programmering.
    men jag har ingen aning om hur man uppdaterar Excel-blad som är på andra system som samma jag gör när excel ark i samma system.

    Svara ASAP

    Tack på förhand.

  23. Deepak Sharma
    30 december 2009 kl 00:16 | # 23

    @ Ganesh

    Kontrollera om ur hjälp. Xlsx istället för. XLS
    Jag får detta undantag (går inte att erkänna OLE ström) om jag använder ny xlsx fil.
    Så använder jexcelapi_2_6_12 löser xlsx format problem?

  24. Swagata
    6 januari 2010 vid 21:56 | # 24

    @ Ganesh

    Kontrollera om filen test.xls är blockerad .. Högerklicka och välj Egenskaper. Om den är blockerad, låsa upp det .. Några säkerhetsfunktion i Windows som blockerar en del nedladdade filer tills du har tagit bort blockeringarna .. Prova om detta hjälper!

  25. 7 januari 2010 vid 00:36 | # 25

    tack för din läraren ^ _ ^

  26. CAG
    22 januari 2010 vid 12:18 | # 26

    tack så mycket, jag arbetade på ett problem där jag behövde stropp xls-fil (400 +) - endast en gång. Du räddade mig dag med denna burk!

  27. Roshan Khandelwal
    31 januari 2010 vid 23:57 | # 27

    Hej alla,
    Koden fungerar ganska bra med en förändring.

    Efter varje fall uttalande lägga ett "break"
    så den reviderade koden är:

    switch (j) (
    Vid 0:
    System.out.println ("Employee Id:" + rowData [j]. GetContents ());
    break;
    fall 1:
    System.out.println ("Employee Namn:" + rowData [j]. GetContents ());
    break;
    fall 2:
    System.out.println ("Employee Beteckning:" + rowData [j]. GetContents ());
    break;
    standard:
    break;
    )

    Med koden som ges, loopar igenom alla tre skick och ger en felaktig utgång.
    Tack för koden.

  28. Paramjit
    18 feb 2010 kl 03:26 | # 28

    Varit mycket användbara ... stor verk

  29. Manjunath
    15 mars, 2010 kl 11:41 | # 29

    @ Ganesh

    Jag får samma fel som Ganesh fick. Min fil sparas som. Xls och är igång igen, men ändå få samma BiffException.Please hjälp

  30. Prema GV
    25 mar 2010 kl 04:41 | # 30

    Hi tack för koden ... ... ...
    Koden fungerade bra när jag kör första gången fick resultatet alltför ....

    Men när jag kör samma kod efter tre gånger av exection ... ... dess att filen kunde inte hittas och null punkt undantag ... ... ... .. sökvägen anges är också korrekt .... plzzzz få mig tillbaka med lösning så snart som möjligt ... ... ..

  31. Prema GV
    25 mar 2010 kl 04:49 | # 31

    Hej tack för koden ... ... ...
    Koden fungerade bra när jag kör första gången fick resultatet alltför ....

    Men när jag kör samma kod efter tre gånger av exection ... ... dess att filen kunde inte hittas och null punkt undantag ... ... ... .. plzzzz få mig tillbaka med lösning så snart som möjligt ... ... ..

    Tack på förhand ... ... ... ... ... ...

  32. sadanala
    13 april 2010 vid 00:50 | # 32

    Var skaffar jag jar-filen?

  33. Menaka
    19 april, 2010 kl 22:53 | # 33

    Hej Hitesh,
    Gör fullständig har någon aning om att skriva till. Xlsx-filer. Om ja kanna fullständig pls dela några kodexempel.
    Tack

  34. 21 april 2010 vid 11:46 | # 34

    Hej Meneka,
    Senaste Apache POI stöder xslx fil.

    Tack,
    Hitesh Agarwal

  35. Gaurav Arora
    6 maj 2010 kl 17:22 | # 35

    Jag har laddat ner din kod och tryied att köra det på ubuntu plattform med jdk6
    men vid körning dess visat en
    Undantag för tråd \ main \ java.lang.NoClassDefFoundError: ReadXLSheet
    på java.lang.Class.initializeClass (libgcj.so.10)
    Orsakas av: java.lang.ClassNotFoundException: jxl.Cell som inte finns i gnu.gcj.runtime.SystemClassLoader (webbadresser = [file :./], förälder = gnu.gcj.runtime.ExtensionClassLoader (url: er = [], förälder = null ))
    på java.net.URLClassLoader.findClass (libgcj.so.10)
    på java.lang.ClassLoader.loadClass (libgcj.so.10)
    på java.lang.ClassLoader.loadClass (libgcj.so.10)
    på java.lang.Class.initializeClass (libgcj.so.10)

    i stället för produktion

    Kan du säga mig vad är problemet med min kod jag inte kan få och dess urget

    sökande mot hjälp ...
    Tack på förhand

  36. 8 maj 2010 kl 02:09 | # 36

    Hej Gaurav,
    Du måste lägga JExcel API i din klass väg medan sammanställningen av java-filen kan du ladda ner JExcelAPI från http://jexcelapi.sourceforge.net/

    Tack,
    Hitesh Agarwal

  37. Thomas
    24 maj 2010 kl 07:23 | # 37

    Hej,

    Jag har skrivit följande funktion:

    public void read () kastar IOException (
    Arkiv inputWorkbook = new File ("c: / temp / test.xls");
    Arbetsbok w;
    try (
    w = Workbook.getWorkbook (inputWorkbook);
    ...
    ) Catch (BiffException e) (
    e.printStackTrace ();
    )
    )

    När jag kör denna funktion i en vanlig Java-ansökan tillsammans med JFace allt fungerar bra. Men när jag kör denna funktion inuti en RCP projekt får jag följande felmeddelande:

    java.lang.ClassNotFoundException: jxl.read.biff.BiffException
    på org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal (BundleLoader.java: 494)
    på org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java: 410)
    på org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java: 398)
    på org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClassLoader.java: 105)
    på java.lang.ClassLoader.loadClass (Okänd källa)
    på model.CollectionManager.newOilFor (CollectionManager.java: 120)
    på model.CollectionManager.loadCollection (CollectionManager.java: 107)
    på model.CollectionManager.getCollection (CollectionManager.java: 56)
    på hellooil.CollectionViewContentProvider.getElements (CollectionViewContentProvider.java: 39)
    ...

    Är det någon vet vad som är fel?

  38. Shan
    Juni 29, 2010 vid 01:24 | # 38

    Jag får detta felmeddelande när jag kör koden postat ovan. Jag dont verkligen förstå problemet. Tack på förhand.

    jxl.read.biff.BiffException: Det går inte att erkänna OLE ström
    på jxl.read.biff.CompoundFile. (CompoundFile.java: 116)
    på jxl.read.biff.File. (File.java: 127)
    på jxl.Workbook.getWorkbook (Workbook.java: 268)
    på ReadXLSheet.contentReading (ReadXLSheet.java: 55)
    på ReadXLSheet.init (ReadXLSheet.java: 20)
    på ReadXLSheet.main (ReadXLSheet.java: 109)

  39. Neeraj
    2 jul 2010 kl 08:08 | # 39

    Kan någon hjälpa mig skriftligen innehållet i en Excel-fil i en XML-fil i java.

    Egentligen im kunna läsa Excel-filen men m försöker att mata in data i XML-filen genom ett föremål för FileWriter men dess inte arbetande ...
    du ger mig ett bättre kod.
    _________________________________________________
    Detta är min kod som m försöker köra:

    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util .*;
    import jxl.Cell;
    import jxl.CellType;
    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.read.biff.BiffException;

    public class ReadExcel (

    public static void main (String [] args) kastar IOException (
    String indatafilen = "c: / data.xls";

    Arkiv inputWorkbook = new File (indatafilen);

    Arkiv fileout = new File ("C: / data.xml");
    FileWriter fw = new FileWriter (fileout);

    fw.write ("");

    Arbetsbok w;
    try (
    w = Workbook.getWorkbook (inputWorkbook);
    / / Hämta första bladet
    Sheet blad = w.getSheet (0);
    / / Loop under första 10 kolumn och rader

    for (int i = 0; i <sheet.getColumns (); i + +) (
    for (int j = 0, j <sheet.getRows (); j + +) (
    Cell cell = sheet.getCell (j, i);
    / / CellType type = cell.getType ();
    if (cell.getType () == CellType.LABEL) (
    fw.write ("" + cell.getContents ()+"");
    )

    if (cell.getType () == CellType.NUMBER) (
    fw.write ("" + cell.getContents ()+"");
    )

    )
    )
    fw.write ("");

    ) Catch (BiffException e) (
    e.printStackTrace ();
    )
    )
    )

  40. Neeraj
    2 jul 2010 kl 08:11 | # 40

    Kan någon hjälpa mig skriftligen innehållet i en Excel-fil i en XML-fil i Java.

    Egentligen im kunna läsa Excel-filen men m försöker att mata in data i XML-filen genom ett föremål för FileWriter men dess inte arbetande ...
    Lämna mig med lite bättre kod.
    _________________________________________________
    Detta är min kod som m försöker köra:
    ** OBS: Jag kunde inte skriva taggar på denna webbplats så jag använde klammerparenteser för taggar i stället för kantiga hängslen

    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    importera java.util .*;
    import jxl.Cell;
    import jxl.CellType;
    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.read.biff.BiffException;

    public class ReadExcel (

    public static void main (String [] args) kastar IOException (
    String indatafilen = "c: / data.xls";

    Arkiv inputWorkbook = new File (indatafilen);

    Arkiv fileout = new File ("C: / data.xml"),
    FileWriter fw = new FileWriter (fileout);

    fw.write ("(root)");

    Arbetsbok w;
    try (
    w = Workbook.getWorkbook (inputWorkbook);
    / / Hämta första bladet
    Sheet blad = w.getSheet (0);
    / / Loop under första 10 kolumn och rader

    for (int i = 0; i <sheet.getColumns (); i + +) (
    for (int j = 0, j <sheet.getRows (); j + +) (
    Cell cell = sheet.getCell (j, i);
    / / CellType type = cell.getType ();
    if (cell.getType () == CellType.LABEL) (
    fw.write ("(tag)" + cell.getContents ()+"{/ tag) "),
    )

    if (cell.getType () == CellType.NUMBER) (
    fw.write ("(tag)" + cell.getContents ()+"{/ tag) ");
    )

    )
    )
    fw.write ("(/ root)");

    ) Catch (BiffException e) (
    e.printStackTrace ();
    )
    )
    )

  41. Imran
    26 juli 2010 vid 01:57 | # 41

    Hej kan någon säga mig varifrån ska jag hämta jxl paket och var ska jag placera det att sammanställa min källkod.

  1. Inga trackback ännu.