![]() |
Datenbank: Sybase • Version: 12 • Zugriff über: TasaSession, TasaSet
Tool um Excel Daten in Db einzufügen
Hallo,
suche gerade eine Idee für mein Abschlussprojekt in meiner Ausbildung zum Anwendungsentwickler. Der zeitliche Rahmen sollte 70 Stunden nicht überschreiben (inklusive Dokumentation, Lastenheft, Pflichtenheft usw.) Jetzt zu meiner Frage, was haltet ihr von einem Tool welches Excel Daten in eine SQL Datenbank einlesen kann. Aber nicht nur simpel einlesen, sprich 1 zu 1 übernehmen, es sollen verschiedene Möglichkeiten bestehen. Ich hatte daran gedacht im Programm zwei Grids zu setzten, das eine simuliert die DB und das andere die Excel Datei. User hat die Möglichkeit eine Excel Datei zu laden, als Vorschau werden dann im unteren Grid 5 Zeilen der Excel Datei angezeigt. Dann hat er die Möglichkeit sich mit der gewünschten DB zu verbinden. In einer Comobobox werden dann sämtliche Tabellen der DB aufgelistet. Wird eine Tabelle ausgewählt, erscheint eine zweite Comobox, welche alle Spalten der Tabelle auflistet. Wenn der Anwender nun eine Spalte auswählt wird der Spaltennamen in das obere Db-Grid eingetragen, so kann der user die Spalten festlegen in welche die Excel-Datei eingelesen werden soll. (Natürlich soll auch möglich sein, in mehrere SQL Tabellen einzulesen) Dann wird per Drag and Drop vom Excel-Grid die Spalte dem DB-Grid zugeordnet und farbig markiert. Außerdem sollen auch Modifikationen der Spalten möglich sein(also veränderung der Excel-Daten): 1. Spalten Verbinden: Bspw. aus Strasse und Hausnummer ein Feld in der Db machen 2. Rechnungen: Bspw. Rabatte von Preisen ausrechnen 3. Kürzel voranstellen oder anhängen: Bspw. Bei Arikelnummer einen Zusatz B-xxxxx gibt es Sowas in der Art schon?? Hab jetzt nichts vergleichbares gefunden.... Vielleicht könntet ihr mir ein kleines Feedback von meiner Idee geben, was ihr davon haltet, oder evtl. Verbesserungen, Anregungen Grüße |
AW: Tool um Excel Daten in Db einzufügen
Hi, sofern du von einer MS-SQL Datenbank ausgehst, gibt's das schon - MS liefert das mit.
Tipps zur Umsetzung: - achte auf leere Felder im Excel - achte auf Formeln im Excel - achte auf Datentypen (Zeichen, Zahlen, Gleitkomma) - achte auf Contraints/Indizes/Primaries auf der Datenbanktabelle - achte auf die verschiedenen Excel-Formate (XLS vs. XLSX) :-) Mathias |
AW: Tool um Excel Daten in Db einzufügen
So ein Tool bringt nicht viel, denn die meisten RDBMS bringen ihre eigenes Werkzeug mit, um EXCEL-Dateien einzulesen. Des Weiteren gibt es wesentlich mehr Szenarion, die Daten einzulesen, als die Du angegeben hast. Du willst eigentlich nur eine Tabelle aus EXCEL auf eine Tabelle in der DB Mappen, also
(EXCEL-Spalte --> Feldname). Das ist banal. Speziell der Passus 'Natürlich soll auch möglich sein, in mehrere SQL Tabellen einzulesen' bedarf einen näheren Erläuterung. Wie soll das gehen? Pro Sheet eine Tabelle oder wie? Es ist 1000x einfacher, die EXCEL-Datei 'irgendwie' in die DB zu saugen und von da aus die Daten zu konvertieren, aggregieren und zu verteilen. Da es sich im Anwendungsfall häufig um ein und die selbe EXCEL-Struktur handelt, schreibt man sich ein Skript, welches die Daten dann verteilt. Edit: Ich lese gerade Zitat:
Wie gesagt, in der Praxis vielleicht nur bedingt zu gebrauchen, aber als Abschlussprojekt sehr gut. Ich denke, mit 70 Stunden bist Du knapp dabei. Nimm Dir nicht zu viel vor. Lieber beschränkter Funktionsumfang (EXCEL-Datei, DB, Tabelle aussuchen, dann das mapping) aber gut dokumentiert, als zu viel, halb fertig, buggy und Schrott-Doku. Die Basisfunktionalität ist schon ausreichend vom Zeitumfang her. Schließlich willst Du ja auch eine schöne Softwarearchitektur, und die fällt nicht vom Himmel. Los! |
AW: Tool um Excel Daten in Db einzufügen
Exceltabellen kannst Du öffnen wie eine normale Datenbank (TDataSet). Dann kannst Du alles auslesen und in die andere Datenbank übertragen:
Das geht via ADO TADOConnection, dort den Connectionsstring rein: ![]() dann ist jede Karteikarte der Execldatei als eigenständige Tabelle da |
AW: Tool um Excel Daten in Db einzufügen
Zitat:
Zitat:
|
AW: Tool um Excel Daten in Db einzufügen
danke erst mal für die teilweise hilfreichen Antworten.
Vielleicht ist es nicht deutlich hervogetreten aus der Fragestellung: Das Ganze ist als Abschlussprojekt für meine Ausbildung gedacht. Mir ist bis jetzt bewusst, dass es nur möglich ist, die Daten von Excel 1 zu 1 in die DB zu übertragen, um sie dort dann anzupassen, bzw zu verändern. Mein tool soll ja diese Aufgaben schon übernehmen. |
AW: Tool um Excel Daten in Db einzufügen
ich bin auch gerne offen für andere Vorschläge, muss auch nicht zwinged was mit Datenbanken sein,
falls jemandem etwas einfaällt. |
AW: Tool um Excel Daten in Db einzufügen
Zitat:
Zitat:
Es ist unterm Strich wirklich schneller, das so zu machen, als (ich habe die SSAS vom SQL-Server vor Augen) sich durch irgendwelche Wizards zu klicken oder tolle Einstellungen per Combo vorzunehmen. in TSQL wäre das
Code:
select * into #tempExecl from Openrowset(.....)
merge from #tempExcel into myDestination ... Zitat:
|
AW: Tool um Excel Daten in Db einzufügen
Wie wäre es mit einer Währungsumrechnung? Holst grundsätzlich die Daten mal bei der EZB ab, berechnest und hinterlegst die Wechselkurse in einer Tabelle. Stellst einen Funktionsbaustein für die Währungsumrechnung in eine andere Währung zur Verfügung. Als Beispiel dann noch eine Testoberfläche und am schluss dann hier in die Code Libary :)
Kannst so komplex machen wie du willst, mit Mengen-/Preisnotierung, Kehrwerte, Multiplier, Basiswährung, unterschiedliche Kurstypen, Euro Konvertierung ... Ne nach Lust und Zeitbudget :) |
AW: Tool um Excel Daten in Db einzufügen
Hallo,
afaik sollen das sinnvolle Projekte sein, oder Teile/Module eines größeren Projektes. Entweder für einen Kunden oder für etwas internes. In der Realität sieht das wahrscheinlich oft anders aus, aber es sollte mMn schon etwas sein, was es nicht haufenweise gibt und was in der eigenen Firma tatsächlich gebraucht werden könnte. Daher vielleicht wirklich mal beim Ausbilder nachfragen, ob es nicht in der (für die) Firma irgendetwas gibt, dass man machen könnte. Just my 2 cents. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz