Announcement

Collapse
No announcement yet.

Microsoft Open Office XML Spezifikation (nicht OpenOffice / Open Document Format!)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Microsoft Open Office XML Spezifikation (nicht OpenOffice / Open Document Format!)

    Moin,

    hat einer von Euch weitgehende Erfahrungen mit der OOXML gesammelt?

    Ich frage mich gerade im Rahmen eines Programmierprojektes, wie ich beispielsweise aus einem XLSX
    • Arbeitsblatt
    • Bezug
    • Name
    • Strukturierter Bezug


    über XSL zusammenbasteln kann. Die Informationen sind in den XMLs leider zerteilt, so daß es kein Sonntagsspaziergang ist.

    Cheers
    Vince
    --
    Cheers Vince

  • #2
    Am besten irgendeine der tausend Kaufkomponenten zulegen, die das für einen in der gewünschten Programmiersprache macht.

    Comment


    • #3
      https://poi.apache.org/
      Christian

      Comment


      • #4
        Es tut mir leid, daß ich mich mißverständlich ausgedrückt habe: ich suche keine Komponente, mit der ich Daten aus einem XLSX ziehen kann.

        Ich suche im Idealfall jemanden, der sich mit Open Office XML auskennt und entsprechende Erfahrungen hat.
        --
        Cheers Vince

        Comment


        • #5
          Für eine direkte XSLT-Umsetzung empfehle ich die Nutzung des Formates der alten 2003er "XML-Kalkulationstabelle (*.xml)". Dabei liegen alle Arbeitsblätter in einer XML-Struktur vor. Diese lässt sich auch in höheren (aktuellen) Excel-Versionen wieder importieren und dann ggf. als XLSX speichern.
          In der gezippten XLSX-Struktur (Vortrags-PDF) liegen bestimmte Inhalte wie die Texte aus Zellen in anderen Dateien als die eigentlichen Werte (u. a. in sharedStrings.xml).

          Comment


          • #6
            Leider bekomme ich nur XLSX-Dateien. Ich bin mit der internen Struktur der Datei vertraut. Ich habe mir lediglich die Frage gestellt, ob jemand schon einmal durch diese "aufgesplittete XML-Hölle" gegangen sein könnte - aber das hat sich offenbar noch niemand angetan.
            --
            Cheers Vince

            Comment


            • #7
              Ich glaub ich hab das vor ewigen Zeiten mal gemacht. Zumindest habe ich mal docx Dateien in CSharp selbst gebaut Das ist aber schon fast 10 Jahre her und sooo sicher war ich mir da damals auch nicht. Falls Du verstehen willst wie bestimmte Sachen erzeugt werden hab ich damals glaub ich immer den Visual Basic recorder nebenher laufen lassen und mir angeschaut was der erzeugt. Das konnte man dann glaub ich fast 1 zu 1 in C# übernehmen.

              Comment


              • #8
                Das ist natürlich eine gute Idee: ich könnte die Änderungen im OOXML machen und via Diff schauen, wie sich der Inhalt verändert.

                Das grobe Verständnis habe ich mir schon schmerzhaft verschafft, ich versuche in diesem Stadium zu verstehen, wie am Beispiel einer XLSX-Datei ein XSL aussehen müßte, daß basierend auf a) Arbeitsblattname, b) Bezug, c) Name und d) strukturiertem Bezug die korrekten Daten aus den XMLs ziehen könnte.
                Ich werde mich da wohl mit Trial and Error herantasten.

                Es wäre cool gewesen, wenn jemand tiefes Verständnis der inneren Strukturen gehabt hätte, ist aber auch nicht schlimm - man wächst ja mit seinen Herausforderungen, gell?

                Ich habe mal einen alten Prototyp eines simplen Zugriffs in Java gefunden - aber der befriedigt nicht meine Bedürfnisse. Ich hänge ihn mal an, falls es jemanden interessieren sollte.
                Attached Files
                --
                Cheers Vince

                Comment


                • #9
                  Originally posted by Vince42 View Post
                  Das grobe Verständnis habe ich mir schon schmerzhaft verschafft,
                  Wer will Schmerzen?
                  Ich mag diese Fragen selbst nicht so gerne, aber darf man fragen, warum keine der vorgeschlagenen API in Betracht kommt?
                  Gruß, defo

                  Comment


                  • #10
                    Originally posted by defo View Post
                    Wer will Schmerzen?
                    Ich mag diese Fragen selbst nicht so gerne, aber darf man fragen, warum keine der vorgeschlagenen API in Betracht kommt?
                    Ich stehe auf Schmerzen. ))

                    Im Ernst: mir geht es tatsächlich darum einmal zu verstehen, wo und wie die Daten abgelegt werden. Ich verschaffe mir so ein Verständnis immer am besten, wenn ich ganz tief in den Maschinenraum abtauche und mir dort ordentlich die Finger schmutzig mache. Mir geht es wie gesagt primär um das Verstehen und nicht um das Beschaffen von Daten.

                    Nachdem ich es verstanden haben werde, kann ich dann entweder einen Weg finden, mit dem ich ganz einfach und schlank Daten aus OOXML ziehen kann ohne auf Third Party Libs angewiesen zu sein oder ich habe verstanden, daß es den Aufwand nicht wert ist und dann greife ich auf irgendwelche Drittlösungen zurück.
                    --
                    Cheers Vince

                    Comment


                    • #11
                      Also die Variante mit dem Visual Basic Makro Rekorder fand ich eigentlich leichter als im Div zu schauen was passiert ist. Versuch das doch mal. Ich fand das damals dann gar nicht mehr sooo kompliziert. Ich habe damals damit Word Dokumente zum Ausdrucken produziert

                      Comment

                      Working...
                      X