Einzelnen Beitrag anzeigen

Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#1

Absicherung Excel-Import

  Alt 19. Jun 2009, 11:20
Moin,
ich hätte mal ne ganz allgemeine Frage zu der ich ein paar Vorschläge/Ideen/Meinungen bräuchte.

Ich schreib grad ne Export/Import-Funktion nach/von Excel.
Hierbei soll der User nur einmal gefragt werden, ob er die Daten wirklich importieren will, danach wird genau dies dann auch getan - und ggf. bestehende Daten werden durch die neuen ersetzt.

Die Frage die sich mir nun stellt ist die, wie sichere ich ab, dass beim Import auch wirklich das Format vorliegt, dass ich erwarte?

Ein Sperren der Zellen kommt nicht in Frage bzw. nützt nicht unbedingt, da eine Bearbeitung der Excel-Tabellen durch einen User vorgesehen ist... - außerdem geht es mir eher darum, was passiert, wenn "versehentlich" eine falsche Excel-Datei im FileChooser ausgewählt wird...

Bisher hab ich folgende "Sicherungsmaßnahmen"
1. Überprüfung ob der Sheet-Name mit einem der erwarteten Namen übereinstimmt
2. Überprüfung ob die beim Export gesetzten "Überschriften" und "Header-Infos" an der richtigen Stelle sind
3. Überprüfung ob der Inhalt der Überschriften und Header das ist, was ich bei dem Sheet-Namen erwarte?
Dabei betrachten die Prüfungen 2+3 je nach Sheet-Namen 5-11 Zellen, die passen müssen.

Diese 3 Schritte werden für jedes Sheet in der Tabelle wiederholt. Sheets, die diese Prüfung nicht bestehen werden ignoriert und es geht mit dem nächsten Sheet weiter. Wenn ein Sheet den Test allerdings besteht, wird aktuell der Import gestartet. Wenn also die eigentlichen Daten trotzdem "Müll" sind, dann wird nicht mehr lange gefackelt und der Müll importiert - wobei ggf. vorhandene Einträge mit der kleinen Identifikation überschrieben werden...

Meint ihr das reicht?

Ich überlege noch ggf. den Inhaltstyp jedes einzelnen Eintrags in der Tabelle zu testen, aber das ist zum einen schwierig, da es durchaus vorkommt, dass einige Zellen leer sind und zum anderen bei entsprechend langen und vielen Sheets eigentlich zu aufwendig/langsam.

Mir ist klar, dass eine Absicherung gegen "mutwillige" Zerstörung nicht möglich ist, da man immer ein Sheet so manipulieren könnte, dass es die Prüfung besteht und die Datenbank trotzdem "zerstört". Es geht wie gesagt hauptsächlich darum ein versehentliches Zerstören der Datenbank zu verhindern - also die Wahrscheinlichkeit möglichst klein zu halten, dass ein willkürlich gewähltes Excel-Dokument die Prüfung irgendwie besteht.

Gruß
Mongfice
  Mit Zitat antworten Zitat