Wie um zu überprüfen, ob eine Datei ein gültiges excel-Tabelle?

Habe ich schon einige suchen hier ALSO an, auf diese, diese, diese und mehr, aber keine Ahnung, also werde ich Sie bitten, Jungs.

Ich versuche zum öffnen einer Excel-Datei über die Interop-und ich habe Office 2007 installiert, so dass ich mit Microsoft.Office.Interop.Excel version 14.0.

Wenn ich versuche, öffnen Sie eine gültige xls Datei, läuft alles einwandfrei.

Aber wenn ich versuche, öffnen Sie eine ungültige Datei (wie z.B. eine bitmap-oder eine ausführbare Datei) per Interop Excel öffnet es ohne zu beschweren oder Warnung.

Woran kann ich erkennen, Excel hat eine ungültige Datei geladen, ohne zu blockieren mit einer Warnung ?

Ich versuche zu schreiben, ein unit-test meiner Excel-Objekt reader. Einer der Fälle ist, zu versuchen, öffnen Sie eine ungültige Datei.

Etwas code helfen:
Anwendung-Erstellung:

    _app = new Application()
        {
            Visible = false,
            DisplayAlerts = false,     //<-- I don't want to remove this.
            AskToUpdateLinks = false,
        };

Arbeitsmappe öffnen von:

   _workbooks.Open(filename);
   _workbook = _workbooks.get_Item(1); //1-based.
   _worksheets = _workbook.Sheets;

BEARBEITEN:
Nur um 1 mehr Informationen: Excel lädt die Datei ungültig. Wenn DisplayAlerts auf true gesetzt ist, beschwert es sich (öffnen-dialog) Information der Arbeitsmappe scheint beschädigt zu sein, aber wenn DisplayAlerts auf false gesetzt ist, lädt es die Datei einfach als unten:

Wie um zu überprüfen, ob eine Datei ein gültiges excel-Tabelle?

  • auch ein Weg, um Prüfung auf gültige Datei ext .csv-oder xls zu sein scheint, die einfachste Methode...
  • Sie könnte sehen, ob die _app.Ready-Eigenschaft geht auf false, wenn das laden einer Datei ungültig. Nur ein Gedanke, den ich habe es nicht ausprobiert.
  • KRAZE, ich habe bereits die Erweiterung überprüfen Sie vor dem laden der Datei. Aber was ist, wenn jemand ändert die Endung der Datei, und versuchen Sie zu laden .exe statt ?
  • gerade überprüft: _app.Bereit bleibt true vor und nach dem laden der Datei ungültig.
InformationsquelleAutor Machado | 2012-01-17
Schreibe einen Kommentar