{"id":103,"date":"2007-08-22T20:58:54","date_gmt":"2007-08-22T18:58:54","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2007\/08\/22\/besonderheiten-bei-der-ausgabe-ueber-excel-via-odbc\/"},"modified":"2007-08-22T21:00:07","modified_gmt":"2007-08-22T19:00:07","slug":"besonderheiten-bei-der-ausgabe-ueber-excel-via-odbc","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2007\/08\/22\/besonderheiten-bei-der-ausgabe-ueber-excel-via-odbc\/","title":{"rendered":"Besonderheiten bei der Ausgabe \u00fcber Excel via ODBC"},"content":{"rendered":"<p>Man sollte tunlichst darauf achten, dass bei Excel Export \u00fcber ODBC alle Spalten mit einem m\u00f6glichst exakten Datentyp erzeugt werden. D.h. der Faulheit halber sollte man nicht jede Spalte mit dem Typ <em>TEXT <\/em>erzeugen, sondern eben <em>DOUBLE<\/em>, <em>NUMERIC<\/em>, <em>BIT<\/em>, <em>DATETIME <\/em>etc. verwenden, die Excel auch unterst\u00fctzt. In diesem Fall werden nur die <em>TEXT<\/em>-Daten mit einem Apostroph versehen. (siehe dieser <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/08\/17\/eigentuemliche-quotes-beim-erzeugen-einer-excel-datei-mit-odbc\/\">Blogbeitrag<\/a>)<\/p>\n<p>L\u00e4stig ist, dass Excel es nicht schafft <em>DATETIME<\/em>, <em>DATE <\/em>und <em>TIME <\/em>Spalten standardm\u00e4\u00dfig auch korrekt anzuzeigen. <em>DATETIME<\/em>-Spalten werden zwar korrekt mit Datum und Uhrzeit bef\u00fcllt. Das Anzeigeformat wird aber so d\u00e4mlich gew\u00e4hlt, dass nur das Datum sichtbar ist. F\u00fcr DATE-Spalten geht das in Ordnung. Bei <em>TIME<\/em>-Spalten wird sogar noch einfach das Tagesdatum &#8222;hinzugedacht&#8220;, obwohl nur der Zeitwert \u00fcbertragen wurde. D.h. man sieht ein Tagesdatum aber nicht die Zeit. Die Zeit wird nur sichtbar beim \u00c4ndern des Formtes der Zellen, oder wenn man die Daten einzeln anklickt und in der Bearbeitungsleiste betrachtet.<\/p>\n<p>Trickreich ist auch die Ausgabe in ein <em>DATETIME <\/em>Feld, wenn man ein Textfeld bindet. In diesem Fall muss zwingend das Format <em>JJJJ-MM-TT <\/em>f\u00fcr die Ausgabe verwendet werden.<\/p>\n<p>Ein weitere Trick besteht darin, die Spalten zus\u00e4tzlich mit der Option <em>NULL<\/em> anzulegen:<br \/>\n<em>CREATE TABLE [Data] ([Field1] TEXT NULL, [Field2] DOUBLE NULL)<br \/>\n<\/em>andernfalls braucht man sich nicht wundern, wenn es eine Exception gibt beim Speichern eines leeren Strings.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Man sollte tunlichst darauf achten, dass bei Excel Export \u00fcber ODBC alle Spalten mit einem m\u00f6glichst exakten Datentyp erzeugt werden. D.h. der Faulheit halber sollte man nicht jede Spalte mit dem Typ TEXT erzeugen, sondern eben DOUBLE, NUMERIC, BIT, DATETIME etc. verwenden, die Excel auch unterst\u00fctzt. In diesem Fall werden nur die TEXT-Daten mit einem &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/08\/22\/besonderheiten-bei-der-ausgabe-ueber-excel-via-odbc\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eBesonderheiten bei der Ausgabe \u00fcber Excel via ODBC\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,3],"tags":[370,352,85],"class_list":["post-103","post","type-post","status-publish","format-standard","hentry","category-mfc","category-programmieren","tag-c","tag-mfc","tag-odbc"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=103"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/103\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=103"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}