Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zahlenformat bei Verwendung von XML-Schema

Forumthread: Zahlenformat bei Verwendung von XML-Schema

Zahlenformat bei Verwendung von XML-Schema
27.06.2017 11:30:34
XML-Schema
Hallo Kollegen,
kennt einer eine Lösung zu folgenden Problem bei Verwendung eines XML-Schemas?
In der xml-Datendatei werden die Zahlenbeträge mit Komma getrennt angeliefert. So wie ich das verstanden habe, kennt das XML-Schema bei Datentyp decimal als Trennzeichen nur den Punkt. Somit konnte ich im Schema die Restriktion für die "deutsch formatierten" Zahlenwerte nur als Typ String mit einem regulären Ausdruck machen.
Das Problem holt mich aber wieder ein, wenn ich im Excel ein Mapping von der Schema-Datei auf Excel-Spalten mache. Natürlich "weiß" das Excel jetzt nicht, daß es sich um Zahlen handelt und damit funktionieren alle Berechnung mit Zahlenwerten nicht.
Es funktioniert erst dann, wenn ich per find-and-replace in der xml-Datendatei alle "," mit "." substituiere und auch ein Schema verwende, wo Datentyp decimal für die entsprechenden Attribute eingetragen ist.
Gibt es hier eine bessere Lösung als den Workaround?
Danke für Input
Johannes
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenformat bei Verwendung von XML-Schema
27.06.2017 14:40:03
XML-Schema
Hallo Johannes,
Zitat: In der xml-Datendatei werden die Zahlenbeträge mit Komma getrennt angeliefert.Das ist nicht XML-Konform. Siehe: XML Datatypes ... 3.2.3 decimal Der Fehler muss also an der Quelle behoben werden!
Gruess Hansueli
Anzeige
AW: Zahlenformat bei Verwendung von XML-Schema
27.06.2017 15:02:12
XML-Schema
Hallo Hansueli,
danke für die Bestätigung. Da ist die Konformität mit dem xml-Standard an der Quelle nicht beachtet worden.
Grüße
Johannes
;
Anzeige
Anzeige

Infobox / Tutorial

Probleme mit Zahlenformat bei Verwendung von XML-Schema in Excel


Schritt-für-Schritt-Anleitung

  1. XML-Datendatei prüfen: Überprüfe, ob die Zahlenbeträge in der XML-Datei mit Kommas oder Punkten getrennt sind. Stelle sicher, dass die Daten dem XML-Standard entsprechen.

  2. Schema anpassen: Wenn du ein Excel XML Schema verwendest, sollte der Datentyp für die Zahlenwerte als decimal definiert sein. Hier ist ein Beispiel, wie das im Schema aussehen könnte:

    <xs:element name="Betrag" type="xs:decimal"/>
  3. Ersetzen der Trennzeichen: Falls notwendig, kannst du in der XML-Datendatei die Kommas durch Punkte ersetzen. Dies kann einfach über Excel oder ein Textverarbeitungsprogramm erfolgen.

  4. Mapping in Excel: Importiere die XML-Datei in Excel und mappe die entsprechenden Spalten. Achte darauf, dass Excel die Spalten korrekt als Zahlen erkennt.

  5. Datentypen überprüfen: Nach dem Import solltest du sicherstellen, dass die Spalten die richtigen Datentypen haben. Du kannst dies in Excel über die Zellenformatierung überprüfen.


Häufige Fehler und Lösungen

  • Fehler: Excel erkennt die Zahlen nicht
    Lösung: Überprüfe die Trennzeichen in der XML-Datei. Wenn Zahlen mit Kommas getrennt sind, kann Excel diese nicht als decimal-Werte erkennen.

  • Fehler: Daten sind nicht XML-konform
    Lösung: Stelle sicher, dass die Datenquelle die XML-Spezifikationen einhält. Ändere die Quell-Daten, um sicherzustellen, dass die Trennzeichen korrekt sind.


Alternative Methoden

Wenn das oben beschriebene Vorgehen nicht funktioniert, kannst du folgende Alternativen in Betracht ziehen:

  • Verwendung von Power Query: Nutze Power Query in Excel, um die XML-Daten zu importieren und die Trennzeichen während des Importprozesses anzupassen.

  • XSD in Excel: Erstelle ein XSD-Schema, das die Struktur deiner XML-Daten definiert, und stelle sicher, dass die Datentypen korrekt festgelegt sind.


Praktische Beispiele

Hier ist ein Beispiel für ein einfaches Excel XML Schema, das du verwenden kannst:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="Rechnungen">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="Rechnung" maxOccurs="unbounded">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="Betrag" type="xs:decimal"/>
                     <xs:element name="Datum" type="xs:date"/>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>

Tipps für Profis

  • Reguläre Ausdrücke verwenden: Wenn du mit XML-Schemas arbeitest, kannst du reguläre Ausdrücke nutzen, um Datenformate zu validieren.

  • Automatisierung: Überlege, Makros in Excel einzusetzen, um den Prozess der Datenkonvertierung und -validierung zu automatisieren.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine XML-Daten den Standards entsprechen?
Nutze Validierungstools, um deine XML-Daten gegen das XML-Schema zu prüfen.

2. Was mache ich, wenn Excel die Daten immer noch nicht korrekt importiert?
Überprüfe noch einmal die Quell-Daten und das Mapping in Excel. Möglicherweise musst du die Trennzeichen erneut anpassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige