Matti Maekitalo: Aktienkurse automatisch von Internetseite abfragen

Beitrag lesen

use Mosche;

use OLE;

eine Instanz von Excel öffnen

my $app = CreateObject OLE "Excel.Application" or
die "OLE mag micht nicht";
...

Ich habe , denke ich, schon einiges über Perl gelesen und auch schon einiges damit gemacht aber dass es _so_ einfach ist Applikationen wie Exel damit zu "bedienen" hätte ich nicht gedacht.

Tja, neben dem Ansatz über OLE gibt es noch zwei weitere, um "Excel" zu benutzen. Sie bedienen nicht Excel für dich, sondern sind in der Lage, Excel Dateien zu lesen und zu ändern. Alle dementsprechenden Module sind aber noch sehr neu und sind nicht gerade "funktionsreich", damit meine ich, es wird damit nicht möglich sein, viel mehr als einfache Tabellenänderungen zu machen.

1. Der Excel Ansatz:
Hier gibt es die Module Spreadsheet::ParseExcel (zum Lesen) und Spreadsheet::WriteExcel (zum Schreiben). Sie bieten erweiterte Möglichkeiten auf das Excel Arbeitsblatt, wie zum Beispiel Zellfarben, Rahmen, u.ä.. Dokumentation und Anwendungsbeispiele findest du unter http://search.cpan.org/doc/JMCNAMARA/Spreadsheet-WriteExcel-0.37/WriteExcel.pm und http://search.cpan.org/doc/KWITKNR/Spreadsheet-ParseExcel-0.26/ParseExcel.pm.

Vorteil dieser Lösungen ggü. dem von Philip geposteten Ansatz - er ist betriebssystem-unabhängig, es wird _kein_ installiertes Excel verlangt (kann ein _unschätzbarer_ Vorteil werden, glaub es mir). Nachteil ist allerdings, dass diese Module recht jung sind und nicht die gleiche Funktionsvielfalt erreichen wie der OLE Ansatz.

2. Der Datenbank-orientierte Ansatz:
Wenn du dein Excel Sheet als Datenbank "mißbrauchen" willst, ist dieser Ansatz der sinnvollste. Zur Info: Für Datenbankverbindungen benutzt man mit Perl meist das Modul DBI, dass eine _einheitliche_ Verbindung zu fast allen Datenbanken herstellen kann. Auch für Excel gibt es einen dementsprechenden Datenbanktreiber. Dass kann vorteilhaft sein, wenn du deine ARbeitsblätter als Datenbank mißbrauchst und momentan die Werte aber noch manuell mit Excel pflegen können willst aber später vielleicht ein Umstieg auf eine richtige Datenbank (MySQL, PostgreSQL, ...) in Betracht kommt. Der Portierungsaufwand ist dann minimal (es müssen tatsächlich nur _sehr_ wenige Zeilen geändert werden, um dann von Excel auf DB zu ändern). Nachteil: Du kannst nur Werte in Tabellen eintragen, Tabellenformatierung ist nicht möglich. Der passende generische Datenbanktreiber für das DBI-Modul heisst DBD::Excel (Doku unter http://search.cpan.org/doc/KWITKNR/DBD-Excel-0.05/Excel.pm).
Diese Lösung ist eine Verallgemeinerung von 1.

Diese Lösung sind praktischer, da sie kein Excel voraussetzen und damit zB auch unter Linux zu benutzen sind.

use Tschoe qw(Matti);

0 48

Aktienkurse automatisch von Internetseite abfragen

Andreas
  • programmiertechnik
  1. 0
    Günter Frhr.v.Gravenreuth
    1. 0
      Philipp Hasenfratz
    2. 0
      Andreas
      1. 0
        Philipp Hasenfratz
        1. 0
          Rol
          1. 0
            Philipp Hasenfratz
          2. 0
            Philipp Hasenfratz
          3. 0
            Matti Maekitalo
            1. 0
              Philipp Hasenfratz
            2. 0

              Spreadsheet::WriteExcel erzeugt "kaputte" xls-Datei!?

              Andreas
              1. 0
                Philipp Hasenfratz
                1. 0
                  Andreas
                  1. 0
                    Philipp Hasenfratz
                    1. 0
                      Andreas
                      1. 0
                        Philipp Hasenfratz
                        1. 0
                          Rol
                          1. 0
                            Philipp Hasenfratz
                            1. 0
                              Andreas
                              1. 0
                                Philipp Hasenfratz
                                1. 0
                                  Andreas
                                  1. 0

                                    Wanted: Linux-Specialist

                                    Philipp Hasenfratz
                                  2. 0
                                    Matti Maekitalo
                                    1. 0
                                      Andreas
                                      1. 0
                                        Matti Maekitalo
                                        1. 0
                                          Andreas
                  2. 0

                    ich liebe dieses Modul ;)

                    Philipp Hasenfratz
                    • software
    3. 0
      Reiner
  2. 0
    Philipp Hasenfratz
    1. 0
      Andreas
      1. 0
        Philipp Hasenfratz
  3. 0
    Matti Maekitalo
  4. 0
    Michael Schröpl
    1. 0
      Andreas
  5. 0

    Brauche Hilfe bei regulärem Ausdruck!

    Andreas
    1. 0
      Philipp Hasenfratz
      1. 0
        Andreas
        1. 0
          Andreas
          1. 0
            Andreas
            1. 0
              Philipp Hasenfratz
              1. 0
                Andreas
                1. 0
                  Philipp Hasenfratz
                  1. 0
                    Andreas
                    1. 0

                      wieder vertippt ;-)

                      Andreas
                      • menschelei
                      1. 0
                        Philipp Hasenfratz
                    2. 0
                      Philipp Hasenfratz
          2. 0
            Philipp Hasenfratz
        2. 0
          Philipp Hasenfratz