Μετάβαση στο περιεχόμενο


Μεγάλος Διαγωνισμός
Κερδίστε 3 κορυφαία τροφοδοτικά

Φωτογραφία

Πως διαβαζω αρχειο xls με java???


Το θέμα αυτό έχει αρχειοθετηθεί επειδή είναι αρκετά παλιό. Αυτό σημαίνει ότι δεν μπορείτε να απαντήσετε σ'αυτό το θέμα.
8 απαντήσεις σ'αυτό το θέμα

#1 mix@lis

mix@lis

    Senior Member

  • Members
  • 174 μηνύματα

Δημοσίευση 14 Δεκέμβριος 2005 - 07:17 μμ

παιδια καλησπερα...!!!
Εχω μια εργασια στην Java και ενα απο τα ζητουμενα ειναι να διαβασω ενα συγκεκριμενο αρχειο xls!! :-? ξερω βεβαια πως να διαβαζω αρχεια και να τυπωνω στην οθονη(στο cmd) το περιεχομενο του αρχειου αλλα μονο για αρχεια txt.με xls πως θα το κανω???δηλαδη πως θα διαβαζω τα περιεχομενα που εχουν τα κελια???για την ακριβεια εχω 7 στηλες και καμια 30 γραμμες!!!χρειαζομια καποιες συγκεκριμενες κλασεις η μεθοδους?help!!!

Ad Bot

Ad Bot

#2 random

random

    Senior Mendez

  • Members
  • 5.224 μηνύματα

Δημοσίευση 14 Δεκέμβριος 2005 - 10:22 μμ

εργασία σε σχολή να κανεις αυτό? πολυ προχωρημένους σας βλέπω. δεν θα το εδινα σε αρχάριο.
εμενα μου ζήτησαν σε δουλειά να δημιουργώ excel, αλλα με πολλους περιορισμους: λειτουργικό unix, αρα δεν μπορουσα να χρησιμοποιήσω τιποτα απο microsoft, και δεν ηθελαν php, και perl δεν ξέρω, αρα έμενε η java και αυτή μισή (jdk 1.1.8 και 1.2 !!! κλαψ :( ). με διάβασμα excel δεν ασχολήθηκα, μαλλον ειναι λιγο πιό μπλέξιμο, αλλα θελει τα ίδια APIs.

δωρεάν: Jakarta POI
http://jakarta.apach.../poi/index.html

και jexcelapi
http://www.andykhan.com/jexcelapi/
http://www.andykhan....i/tutorial.html

για να βρεις κι άλλα δωσε στο google : create excel java
τα περισσότερα αποτελεσματα αφορούν το POI γιατι ειναι το πιό στανταρ, πρόσθεσε -POI για να δεις τους υπόλοιπους, και tutorial μηπως βρεις παραδείγματα κώδικα.


επισης εχω δει αυτο officewriter http://officewriter.softartisans.com/ ειναι commercial και υπόσχεται αρκετά προχωρημένα πράγματα -δεν νομιζω να το χρειαστείς-, αλλα οταν κατι δεν δουλευε σωστά στο demo τους, και στειλαμε mail, δεν μας απάντησαν.

#3 damn3

damn3

    Senior Member

  • Members
  • 1.125 μηνύματα

Δημοσίευση 15 Δεκέμβριος 2005 - 03:42 πμ

me tokenizer den ginete na to kaneis?

oups mallon oxi, asxetos detected :)

#4 kickeras

kickeras

    Senior Member

  • Members
  • 538 μηνύματα

Δημοσίευση 15 Δεκέμβριος 2005 - 07:30 πμ

afou diavazeis txt ti provlima exeis gia to xsl? text den einai kai afto?

#5 Directx

Directx

    Senior Member

  • Members
  • 2.181 μηνύματα

Δημοσίευση 15 Δεκέμβριος 2005 - 09:36 πμ

Θα πρέπει να βρεις το documentation του XLS file format (εγώ το είχα βρει από εδώ http://www.wotsit.org/'> http://www.wotsit.org/) το οποίο διαφοροποιείται αν θυμάμαι καλά από την έκδοση του Excel ʼ97 (v.7.0) και γίνεται πιο περίπλοκο.

Πάντως είχα ασχοληθεί πέρσι με το θέμα τις σχεδίασης μιας class που έκανε export στοιχεία (όχι import όμως) σε XLS ως την έκδοση 6.0 (προ του Office ʼ97). Ουσιαστικά αυτή η μορφή αρχείων (στην ορολογία λέγονται BIFF, Binary Interchange File Format -μην μπερδεύεσαι από το IFF μέλος) προέρχεται από το θρυλικό Lotus 1-2-3 και ομοιάζει σε πολλά σημεία μαζί του. Είναι απλοϊκή και βασίζεται σε binary chucks τα οποία πρέπει να διαβάσεις από το XLS αρχείο (ύστερα από την επεξεργασία των ανάλογων Headers). Το μέγεθος τους είναι μεταβλητό (αν και πάντα ξεκινά αν θυμάμαι καλά με 4 bytes ή αν θες δυο WORDS) και εξαρτάται από το τι επιτελούν (εδώ βοηθά το πρώτο byte τους ή chuck ID στην ορολογία που χρησιμοποίησα τότε).

Για να καταλάβεις την δομή, δημοσιεύω την μορφή του XLS chuck με κωδικό 04 το οποίο ορίζει κείμενο στα κελιά της εφαρμογής (είναι snap από το ελλιπή :\ source comment της C++ class μου) για το Excel 2 > και πρέπει να θεωρηθεί ενδεικτική ώστε να σε βάλει στο πνεύμα των δομών του:

      |===========|===========|========|=============|
      |04 00|LL 00|RW RW|CL CL|RR|GG|BB|SL|String[..]|
      |===========|===========|========|=============|
                   00 01 02 03 04 05 06 07 08....
                   ^-----------+
      LL = Συνολικό μέγεθος του|BIFF DATA τμήματος (μόνο!)
      RW = RoW WRD RR = R               SL = Συνολικό μέγεθος του String
      CW = CoL WRD GG = G } 3 Bytes (χρώμα σε μορφή RGB ή Alignment)
                   BB = B

Αν τώρα βρεις κάποιο έτοιμο XLS parser class για την Java ακόμα καλύτερα διαφορετικά μια Binary αντιμετώπιση δεν κρίνεται ανέφικτη ειδικά για τα παλιά XLS (απλά πρέπει να διαβάσεις Binary) διαφορετικά εάν ο Καθηγητής σου θέλει σώνει και καλά Excel ʼ97 > (ευτυχώς όλα τα Excel υποστηρίζουν και τα παλαιότερα BIFF formats) βάλ' τον να σου διαβάσει τις δομές του ʼ97 (Ole chucks κ.α.) και να αναπτύξει μόνος του το αντίστοιχο λογισμικό –όχι με έτοιμα class αλλά με το χέρι- και αν τα καταφέρει στο χρόνο που πάω στοίχημα πως σας έδωσε, τα λέμε ;)

Δεν έχω να προσθέσω κάτι πέρα από αυτά,
Καλή συνέχεια!
:)

#6 alkisg

alkisg

    Senior Member

  • Members
  • 2.911 μηνύματα

Δημοσίευση 15 Δεκέμβριος 2005 - 06:38 μμ

Το να αποθηκεύσεις το .xls σε .csv (comma seperated values) που είναι απλό κειμενάκι δεν επιτρέπεται; Χάνεις βέβαια τη μορφοποίηση, πιθανώς όμως να σε ενδιαφέρουν μόνο οι τιμές/τύποι...

#7 philippas

philippas

    Member

  • Members
  • 101 μηνύματα

Δημοσίευση 18 Δεκέμβριος 2005 - 09:56 μμ

Το πιο εύκολο είναι με τις libs της jakarta που σου δίνουν έτοιμες classes για να διαβάζεις και να γραφείς σε excel format.
Επίσης μπορείς να χρησιμοποιήσεις το JDBC api και τον κατάλληλο driver ώστε να διαβάζεις-γραφείς όπως σε μια βάση δεδομένων με sql εντολές.

LINKS:
http://www.javaworld...824-excel2.html
http://jakarta.apache.org/poi/
http://java-source.n...cel-jdbc-driver

#8 kickeras

kickeras

    Senior Member

  • Members
  • 538 μηνύματα

Δημοσίευση 19 Δεκέμβριος 2005 - 09:35 μμ

a kala....anti gia xls diavasa xsl k lew giati ginetai tosos ntoros....ontws ta libs tis jakarta einai kali lisi....an thes des k to ExtenXLS Java/XLS toolkit sto http://www.zdnetasia...9071374s,00.htm

#9 Daredevil

Daredevil

    Senior Member

  • Members
  • 4.810 μηνύματα

Δημοσίευση 19 Δεκέμβριος 2005 - 09:45 μμ

gia anoi3e to sygkekrimeno xls me notepad mpas kai einai aplws kana txt me csv gia excel, an nai para poly apla ginete opws ta txt, kata ta alla genika otidhpote jav<->ms gia na synergastoun sou bgazoun to ladi, pantws akoma kai se visual c# ,ektos apo to office iteroop, gia na kaneis tetoia douleia einai 8eotrellh manoura.