ado.net, excel, und mit tabellen arbeiten die nicht in der ersten zeile anfangen?



  • hallo,

    ich habe ein kleines problem welches der threadtitel hoffentlich schon verraet.

    ich versuche eine datenbank abfrage in eine vorgefertigte exceltabelle einzufuegen. zunaechst habe ich mit xml als schnittstelle gearbeitet was mir allerdings nicht gefallen hat.
    anschliessend habe ich es mit den interop assemblys probiert. die performance erscheint mir grauenhaft, jedenfalls fand ich es dann auch nicht wunderbar. zu guter letzt habe ich probiert das ganze mit ado.net zu erledigen. die loesung erscheint mir zur zeit als die beste, das problem ist nur, dass die loesung lediglich dann funktioniert wenn in der exceltabelle die spaltennamen in der ersten zeile stehen. und wie ihr euch schon denken koennt, stehen die bei mir in zeile 21! was tun also? habe ein wenig gegoogelt und die moeglichkeit gefunden zellen mit namen zu versehen: excel>einfuegen>name>definiere. allerdings hilft das nicht weiter. hat einer von euch vielleicht eine idee?



  • Muss es denn eine Exceltabelle sein oder kannst Du auch auf ein anderes Format setzen ?



  • einmal darfst du raten 😛



  • Ich rate: Ja, du kannst auf ein anderes Format umsteigen.



  • DaEgi schrieb:

    einmal darfst du raten 😛

    Hier geht es nicht um Raten sondern um Fakten. Falls Du jemanden suchst, der mit einer Kristallkugel umgehen kann oder die Wünsche von Deinen Zeilen ablesen kann, bist Du hier leider im falschen Forum.

    Excel als Datenbank zu missbrauchen ist IMHO keine gute Lösung. Bevor man Zeit verschwendet um zu basteln, klärt man zuerst ab ob man nicht ein anderes Format verwenden kann. Die Frage solltest Du in Ruhe abklären. (Ich bin noch nicht mal auf die Idee gekommen jemals ein Excelsheet mit ADO.Net anzufassen, erscheint mir irgendwie unpassend.
    Datenbankabfrage - Excel)



  • @ simon, falsch geraten, hrhr 😉

    @ knuddelbaer, ich galube wir haben uns falsch verstanden.
    "einmal darfst du raten :P" war nicht als ausschreibung fuer das neuste raetsel vom august 2008 gedacht, sondern eine rein rhetorische aufforderung. und wenn das hier wirklich ein c# forum ist, dann glaube ich doch noch im richigen zu sein. evtl. waer natuerlich ein excel oder datenbank forum angebrachter, wobei man mich im datenbank forum bestimmt steinigen würde sobald ich excel auch nur "in die finger nehme".
    denn deine meinung bzgl. excel und datenbanken ist auch meine meinung!!! allerdings sind dies die vorgaben, die ich nicht abaendern kann. an der excelfile sollen naemlich noch ein paar leute rumfummeln die absolut keine ahnung von datenbanken oder sql haben. ich zumindest bin schon froh, dass ich es mit c# machen darf und meine finger nicht mit vba beschmutzen muss 😉

    daher: cool bleiben!



  • Ich finde auch dass man häufiger nach Excel exportieren muss. Es gibt viele Kunden, die die Ergebnisse/Exports der Software in Excel weiterverarbeiten wollen. Wir haben einen Kunden, der das unbedingt braucht, und da er Mandanten fährt müssen ähnlich wie Du Excelvorlagen gefüllt werden. Da er nun 'ne Menge Kohle durchreicht und es haben will, habe ich mir mal die OpenXML-Schnittstelle angeschaut. Excel/Word 2007 speichern nun in XML-Archiven. Das ist ein ordentliches Stück Arbeit, aber Du könntest mal prüfen, ob es für Dich eine Alternative ist. Also Excelschablonenarchiv öffnen, umkopieren, und on-the-fly Tabelle 1 befüllen, dazu das Wörterbuch anpassen.
    Ich fand die Arbeit recht interessant, das Excel-Stilverzeichnis ist als verschachteltes Fliegengewichtsmuster realisiert. Muh!



  • allerdings sind dies die vorgaben, die ich nicht abaendern kann

    Da hier keiner eine Glaskugel hat um zu wissen das es eine unabänderliche Vorgabe ist, gab es schlicht weg die Frage danach. Fändest Du die Antwort auf Deine Frage "wie geht yzx" mit "einmal darfst Du raten :p" angemessen oder Sinnvoll ?

    und wenn das hier wirklich ein c# forum ist, dann glaube ich doch noch im richigen zu sein

    Falls Du jemanden suchst, der mit einer Kristallkugel umgehen kann oder die Wünsche von Deinen Zeilen ablesen kann, bist Du hier leider im falschen Forum.

    C# hat nichts mit Rätselraten zu tun auch wenn manchen die Sprache selbst rätselhaft erscheinen mag. Dein Problem selbst ist passend Platziert.

    Genug des Zederns, das bringt nur schlechte Stimmung aber keine Lösung. Von Excell konnte ich mich bisher zum Glück fernhalten bzw. konnte Daten in eine komplett neue Exceltabelle einfügen und habe hierfür 3 Hersteller Libs verwendet die sich um die eigentliche Friemelarbeit kümmern. Ich werde daher vermutlich nur Unbrauchbares von mir geben :o(

    - Besteht die Möglichkeit in der Tabelle erst mit XML / PIA die Voraussetzungen für ADO.Net zu schaffen und dann ggf. über PIA den Bereich zu kopieren ?
    - Was hat Dir an der XML Variante nicht gefallen bzw. warum ist diese Unbrauchbar für Deinen Fall?
    - Was hast Du im Detail mit PIA gemacht ? (Jeden Wert einzeln eingefügt, in großen Happen etc.)
    - Darfst Du ein völlig neues Excelsheet generieren oder musst Du ein fremdes Sheet verwenden und dort die Daten einsetzen ?


Anmelden zum Antworten