Xml Dateien auslesen in einer EXL Tabelle in OOo importieren

Aus Linupedia.org
Wechseln zu: Navigation, Suche
Höhe=24px
Dieses HOWTO zu Linux oder der Abschnitt davon braucht eine Überarbeitung. Weitere Informationen findest Du hier. Deine Hilfe ist gefragt, das HOWTO zu verbessern. Danach entsorge bitte diese Signierung.

--Yehudi 22:33, 12. Sep 2006 (CEST) Das ganze befindet sich noch in einem ziemlichen Rohzustand, ohne direkten Lösungsweg, den ich hier für das Problem herbeiführen möchte.

Anforderung

Für Joomla gibt es ein Tool welches sich FacileForms nennt. http://www.facileforms.biz/ Damit lassen sich wunderbar Kontaktfomulare erstellen. z.B. CDVorbestellung siehe: http://www.yehudi.de/component/option,com_facileforms/Itemid,93/ (Informativ: solange nicht auf Seite 2 nicht alles ausgefüllt ist, und Submit... gedrückt wird passiert wird keine Bestellung ausgeführt) Diese einzelnen Vorbestellungen werden im Backend angezeigt, die einzelnen Daten aber nicht als Übersicht, sondern muss per Link auf den Vorbesteller gehen, und kann nur jeweils von einem die Daten sehen. Man kann jeden Besteller als xml Datei exportieren. Was auch klapppt, nun will ich aber die Dateien in eine EXL Tabelle einlesen. Oben stehen in den Spalten die einzelnen Angaben, und pro Zeile soll ein Vorbesteller liegen. In meinem OOo Buch finde ich da nichts zu, und im Netz sieht es auch eher Mager aus.

Als erstes stelle ich mal die XML Datei vor, die aus Joomla! dann exportiert wird:

XML Datei

<?xml version="1.0" encoding="iso-8859-1" ?>
 <FacileFormsExport type="records" version="1.4.6">
	<exportdate>2006-08-08 13:06:09</exportdate>
	<record id="1">
		<submitted>2006-08-07 22:14:24</submitted>
		<form>11</form>
		<title>CD Vorbestellung</title>
		<name>SampleCDPreOrder</name>
		<ip>ipadresse</ip>
		<browser>Mozilla Firefox 1.5.0.4</browser>
		<opsys>Linux</opsys>
		<provider>Unbekannt</provider>
		<viewed>0</viewed>
		<exported>0</exported>
		<archived>0</archived>
		<subrecord id="1">
			<element>159</element>
			<name>pss_cd_regular</name>
			<title>CD Regular Order</title>
			<type>Text</type>
			<value>1</value>
		</subrecord>
		<subrecord id="2">
			<element>189</element>
			<name>psa_name</name>
			<title>Name</title>
			<type>Text</type>
			<value>Kundenname</value>
		</subrecord>
		<subrecord id="3">
			<element>191</element>
			<name>psa_city</name>
			<title>City</title>
			<type>Text</type>
			<value>Stadtname</value>
		</subrecord>
		<subrecord id="4">
			<element>193</element>
			<name>psa_zipcode</name>
			<title>Zipcode</title>
			<type>Text</type>
			<value>Postleitzahl</value>
		</subrecord>
		<subrecord id="5">
			<element>199</element>
			<name>psa_housenumber</name>
			<title>Housenumber</title>
			<type>Text</type>
			<value>Hausnummer</value>
		</subrecord>
		<subrecord id="6">
			<element>201</element>
			<name>psa_street</name>
			<title>Street</title>
			<type>Text</type>
			<value>Meine straße</value>
		</subrecord>
		<subrecord id="7">
			<element>203</element>
			<name>psa_email</name>
			<title>email</title>
			<type>Text</type>
			<value>meine@mail</value>
		</subrecord>
	</record>
 </FacileFormsExport>

Lösungsansätze

auch noch mal den die bezeichner muessen wenn ich das richtig überflogen haben da ja mit eingabaut werden, d.h. muss man das kennen was was man da importieren will.

Datensätze sortieren

Eine EXL Tabelle mit den Daten

Dann unter - Daten - Bereich auswählen

Nun in der Tabelle einen Bereich auswählen.

Dann auf - Daten - sortieren gehen

Hier taucht ein Problem auf, der sortiert nur die Spalte, nach welcher er sortieren soll, den Rest der Daten lässt er unberührt.

XML Datei konvertieren

Habe so erstmal auf die schnelle nur was französisches gefunden, kann aber kein franz.

Vielleicht hilft Dir diese Seite, wenn Deine Lösung absolut durch XML betrieben werden muss :

http://www.bobiciel.com/maxopeninfo/default_zone/fr/html/page-271.html

Sonst wenn es sich um eine PHP-Lösung handelt, findest Du hier auch was:

http://www.phpcs.com/codes/GENERATION-DOCUMENT-OPENOFFICE-SPREADSHEET_35722.aspx

http://www.tinybutstrong.com/fr/tbsooo.php

http://www.apicnet.net/article.php3?id_article=73

Und hier wird OOo durch PHP versteckt (ohne Fenster) betrieben um Umwandlungen durchzuführen :

http://oooconv.free.fr/oooconv/oooconv_en.html


ich weiss das es z.B. für Typo3 einer Parser gibt, d.h.

Typo3 macht ein xml-dokument

dann ruft man auf der Seite im backend den parser auf

und kann dann anklicken pdf-dokument, html-dokument, excel-dokument und was man sich sonst nach alles vorstellen kann und tippst ne' eMail-Adresse direkt im Backend ein und 1 Minuten später haste das da.

da ist es man muss ich ein import-filter schnitzen

http://xml.openoffice.org/filter/#3.1.TheFilterWrapper:InstantiatingtheXMLFilters%7Coutline

hast Du schon diese Filter die in OO unter

/usr/lib/ooo-2.0/share/xslt/import/wordml/

durchprobiert`? unter Extra - XNL Einstellungen

problem ist nur man kann immer nur einen Filter haben der auf die Dateiendung xml-reagiert die 2. Pfade habe ich schon durch im dritten Unterpfad liegt ne ganze Menge.

ich habe heute mal im Bücherladen in dies Buch geschaut: http://www.amazon.de/exec/obidos/ASIN/3898426580/302-6549216-5090435

aber so wirklich habe ich da nichts gefunden.

Bei den Filtern habe ich alle 11 Filter jeweils eingefügt, und habe ein xml Dokument bei dem die zu importierenden Daten fehlen als Vorlage gewählt.

Die Spaltengeschichte ist mir eigentlich soweit klar. Da trägt man alle Begriffe bei jeder Spalte ein und Bereich festlegen. Dann wähle ich eine leere Zeile und wähle Einfügen > Verknüpfung externer Daten > wähle das XML-Dokument aus, und dann läßt es sich nicht importieren.

Vielleicht ist irgendwo ein Schritt falsch. Leider fühle ich mich da wie auf neuem Territorium beim Blinde Kuh spielen. Allerdings entdecke ich viele Möglichkeiten dabei, von denen ich vorher nichtmal dran gedacht habe, dass sowas überhaupt gehen könnte.


Zurück zu Office