Hans Gustav: Excel -> Mysql (Spreadsheet::ParseExcel)

Hallo,

Ich bin immernoch auf der suche und entschuldige wenn dies nach einem Doppelposting scheint, aber dieser thread soll sich diesmal nicht nur auf die grundfrage: Wie lese ich eine Excel Tabelle in eine mysql tabelle ein, sondern wie mache ich das mit PERL und Spreadsheet::ParseExcel? Das ist so wie es aussieht die einzige möglichkeit!

Bitte lasst mich in ruhe mit .csv. Der nachtteil ist das nach dem abspeichern einer excel-tabelle im csv-format die datei beim nächsten mal öffnen nicht mehr korrekt dargestellt wird wie ich sie abgespeichert habe (A1;;; ;B2;; ;;C3;).

Ich habe ein Seite gefunden: http://search.cpan.org/author/KWITKNR/Spreadsheet-ParseExcel-0.2602/ParseExcel.pm, jedoch kann ich eben kein PERL.

macht dieses Script denn genau das was ich will?
Mir reicht es wenn das Script auch nur eine TXT-datei erzeugt (das wär mir sogar am liebsten), denn von da aus kann ich alles selber
  puh ;-)
soweit wie ich das script lesen kann gibt es nur ein paar prints aus, würde mich freuen wenn mir jemand sagt wie ich eine txt-file erzeugen kann.

Man muss sich eben vorstellen, dass ich 1000 Excel Tabellen im .xls Format habe und die Alle auf einen schlag in eine mysql tabelle sollen.

Die nächste frage (auf deren antwort ich noch warte) ist:
Ist das Excel Modul für Perl auf meinem Server Installiert?
im Regelfall: Ja? Nein?
Wenn Nein - Was mach ich jetzt?
Wenn Ja - Glück gehabt!

wäre schön wenn man dieses thema endlich abgeschlossen im archiv finden könnte, denn da steht bis jetzt nur der mist mit csv drin und ansätze mit Perl mit denen auch keiner was anfangen kann.

Vielen dank fürs Lesen
Und noch viel mehr dank für Antworten
Und noch viel viel mehr dank für das lassen von "Doppelposting" hinweisen oder sonstigen unproduktiven Antworten.

Danke

MfG
Hans Gustav

  1. Halihallo Hans Gustav

    Ich bin immernoch auf der suche und entschuldige wenn dies nach einem Doppelposting scheint, aber dieser thread soll sich diesmal nicht nur auf die grundfrage: Wie lese ich eine Excel Tabelle in eine mysql tabelle ein, sondern wie mache ich das mit PERL und Spreadsheet::ParseExcel? Das ist so wie es aussieht die einzige möglichkeit!

    Wenn du dich schon selber enttarnst: Mach es richtig und verlinke den Beitrag auch.

    Bitte lasst mich in ruhe mit .csv. Der nachtteil ist das nach dem abspeichern einer excel-tabelle im csv-format die datei beim nächsten mal öffnen nicht mehr korrekt dargestellt wird wie ich sie abgespeichert habe (A1;;; ;B2;; ;;C3;).

    Was ist deiner Meinung nach der Unterschied zwischen den "in-frieden-lassen-mit-CSV"-
    Dateien und einer "bevorzugt-sogar-eine-TXT"-Datei? - Eine CSV-Datei ist immer eine
    Text-Datei.

    Ich habe ein Seite gefunden: http://search.cpan.org/author/KWITKNR/Spreadsheet-ParseExcel-0.2602/ParseExcel.pm, jedoch kann ich eben kein PERL.

    Solange du nicht erwartest, dass wir es für dich programmieren ist das OK. Aber ein
    bischen Erfahrung mit Perl solltest du haben, sonst kannst du es nicht über Perl lösen.

    macht dieses Script denn genau das was ich will?

    Falls: Parsen einer Excel-Datei und Zugreifen auf einzelne Zellen dein Wunsch ist, ja.

    Mir reicht es wenn das Script auch nur eine TXT-datei erzeugt (das wär mir sogar am liebsten), denn von da aus kann ich alles selber
      puh ;-)

    Das dürft mit einer kleinen Modifikation am Beispiel-Code des Moduls durchführbar sein.

    soweit wie ich das script lesen kann gibt es nur ein paar prints aus, würde mich freuen wenn mir jemand sagt wie ich eine txt-file erzeugen kann.

    Sieh dir den Beispiel-Code des Moduls genau an und teste es. Spiele etwas damit herum,
    so findest du die korrekte Verwendung der Datenstrukturen. Bringe sie dann in die
    richtige "Form" (die du definieren musst) und schreibe sie über

    perldoc -f print

    an eine Datei, die du über

    perldoc -f open

    geöffnet hast und schliesse die Datei dann mit

    perldoc -f close

    dann hast du deine Textdatei und kannst diese weiterverarbeiten.

    Die nächste frage (auf deren antwort ich noch warte) ist:
    Ist das Excel Modul für Perl auf meinem Server Installiert?
    im Regelfall: Ja? Nein?

    Im Regelfall IMHO nein. Teste dies über:

    ---
    #!/usr/bin/perl
    use strict;
    use CGI::Carp qw(fatalsToBrowser);
    use Spreadsheet::ParseExcel;
    ---

    Wenn ein Fehler in der error-log/Shell/Browser siehst, ist es nicht installiert.

    Wenn Nein - Was mach ich jetzt?

    Ist es dein Server oder hast du einen Provider. Im ersten Fall: perl -MCPAN 'shell' auf
    der Shell eingeben, falls ActiveState: perldoc ppm eingeben und lesen. Im letzeren Fall:
    Provider darum bitten.

    wäre schön wenn man dieses thema endlich abgeschlossen im archiv finden könnte, denn da steht bis jetzt nur der mist mit csv drin und ansätze mit Perl mit denen auch keiner was anfangen kann.

    your point of view...

    Vielen dank fürs Lesen

    aber gerne.

    Und noch viel mehr dank für Antworten

    bitte ;)

    Und noch viel viel mehr dank für das lassen von "Doppelposting" hinweisen oder sonstigen unproduktiven Antworten.

    Wenn sie gerechtfertigt sind: kein bitte.

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
  2. Moin!

    Bitte lasst mich in ruhe mit .csv. Der nachtteil ist das nach dem abspeichern einer excel-tabelle im csv-format die datei beim nächsten mal öffnen nicht mehr korrekt dargestellt wird wie ich sie abgespeichert habe (A1;;; ;B2;; ;;C3;).

    Du darfst die CSV-Datei nicht mit einem Doppelklick öffnen. Über den datei- Öffnen- Dialog geht es. Der Bug ist aber von M$. Entweder die verknüpfen *.CSV mit Excel -und dann sollte es gehen, oder Bill the $ Mannen lassen es. Die Funktion ist buggy, aber wie gesagt: Nimm den Dialog. Wenn Du mit Excel umgehen könntest, warum weisst Du das noch nicht? Wenn Du nicht mit Excel umgehen kannst, dann frage Dich, ob es Excel sein muss. Ein "Nein" könnte Dein großes Problem rasend schnell sehr viel kleiner machen.

    Ich habe ein Seite gefunden: http://search.cpan.org/author/KWITKNR/Spreadsheet-ParseExcel-0.2602/ParseExcel.pm, jedoch kann ich eben kein PERL.

    Die ist ein Modul, welches installiert werden muss und Funktionen zur Arbeit mit Excel- Dateien bereithält. Programmieren musst Du immer noch selbst... kannst dann aber das Modul beziehungsweise die von ihm bereitgestellten Objekte und Funktionen benutzen. Es ist eine Erweiterung der Programmiersprache Perl. Wenn Du Perl nicht kannst, dann macht es auch keinen Sinn über das Modul nachzudenken.

    Informiere Dich doch mal zunächst, welche Excel- Versionen dieses Modul unterstützt und ob es sich _ohne Einschränkungen_ eignet. Ich habe bereits geschrieben, das M$ sich bezüglich der Offenbarung der Regeln für die Dateiformate sehr restriktiv verhält, eben um es anderen Programmierern schwer zu machen, die Dateien des Office zu lesen oder zu schreiben. Die wollen das Geld selbst verdienen und manövrieren sich zunehmend ins Abseits.

    Fazit: Es gibt zwei Möglichkeiten:

    Du lernst selbst etwas über Dateiformate, Deine Anwendungen, die Programmiersprache oder Du lässt die Arbeit von jemand erledigen, der dies alles gelernt hat. Dafür ist dieses Forum aber nicht geschaffen. Sowas gibts in dem Umfang nur gegen gerechtfertigt geforderten Lohn.
    Das ist einfach, verständlich und hier die alle Deine Fragen erschlagende Wahrheit.

    Sicher hast Du auch die FAQ gelesen. Warum bist Du nicht bei Deinem Thread geblieben?

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Meinereinerselbst ist auf der Suche nach Aufträgen