# Excel ->  XML



## Frezl (9. Dezember 2009)

Hey allerseits!

Ich suche eine Möglichkeit, eine Tabelle aus Excel 2007 als XML-Datei zu speichern, die ich dann mit PHP weiterberabeiten kann. Einfach exportieren geht leider nicht. Ich sitz jetzt schon seit Stunden an der Office-Hilfe, aber ich habs bis jetzt net gerafft, wie das mit den Zuordnungen und Schemadateien funktioniert. Da wird immer erklärt, wie man ein fertiges XML-Dokument in Excel importiert. Ich habe aber ein fertiges Excel-Dokument, das ich in XML umwandeln möchte.

Die Tabelle sieht in etwa wie folgt aus:






Die Struktur der XML-Datei hatte ich mit in etwa wie folgt überlegt:


```
<?xml version="1.0" encoding="utf-8" ?>
<!-- Anfang des XML-Dokuments -->

<ProjectList>
  <Project>
    <ProjectNumber>1</ProjectNumber>
    <Confidential>Yes</Confidential>
    <IndustryBranch>Foo</IndustryBranch>
  </Project>
  <Project>
    <ProjectNumber>2</ProjectNumber>
    <Confidential>No</Confidential>
    <IndustryBranch>Bar</IndustryBranch>
  </Project>
</ProjectList>

<!-- Ende des XML-Dokuments -->
```

Per PHP soll aus diesem Dokument dann eine HTML-Tabelle erstellt werden. Dabei soll z.B. auch geprüft werden, ob ein Projekt Confidential ist, etc. Das ganze soll in ein Array eingelesen werden und dann formatiert ausgegeben werden.

1. Frage: Ist meine Struktur überhaupt sinnvoll?
2. Frage: Wie bekomm ich meine Excel-Tabelle in diese Struktur gebogen?

Es wäre schön, wenn mir jemand ein einfaches Beispiel geben könnte, wie ich das hinbekommen kann!

Gruß und Dank,
Frezl


----------



## Zeimi3 (8. Januar 2010)

Hi,

ich sitze hier vor dem gleichen Problem. Ich habe mir eine valide Schemadatei erstellt und diese der Arbeitsmappe hinzugefügt (steht recht gut im Galileo OpenBook zu Excel 2007 beschrieben) fülle ich nun meine Tabelle mit den werten der entsprechenden Felder bekomme ich beim Versuch das ganze zu exportieren folgenden Fehler:
Die XML-Zuordnungen an diesem Arbeitsblatt sind nicht exportierbar. 
Sinn udn Zweck meiner Aktion ist das füllen einer Datenbank, hab hier ne 60 seitige Tabelle dessen Daten ich gerne in eine SQLdb überführen würde. Bin auch für andere Wege offen.

Greets
Simon


----------



## Frezl (3. Februar 2010)

Um mal ne Rückmeldung zu geben: Ich hab die Tabelle jetzt als CSV-Datei exportiert, da PHP ne passende Funktion zum Importieren von CSV-Dateien zur Verfügung stellt. Allerdings ist das nicht ganz so komfortabel, wie ichs mir vorgestellt hab. Einerseits muss man vor dem Export wirklich nur die Zellen kopieren, die man brauch und diese dann in eine neue Tabelle einfügen. Sonst kanns sein, dass ne ganze Latte leere Spalten/Zeilen mit exportiert werden. Zum anderen gibts tatsächlich Leute, die Zeilenumbrüche in Excel-Tabellen einfügen. Die muss man vorher alle ersetzen, da CSV die Zeilen durch Spaltenumbrüche trennt und die Zeilen somit nicht mehr sauber erkennen würde...

Wäre trotzdem cool, wenn jemandem eine Lösung für das XML-Problem finden würde...


----------

