2 Stimmen

Bewährte Verfahren für das Hochladen von Excel-Daten in SQL Server mit ASP.NET

Ich bin auf der Suche nach Best Practice für das Hochladen von Excel-Daten in Sql Server 2000-Datenbank durch asp.net Web-Anwendung. Excel-Daten werden vordefinierte Format mit fast 42 Spalten und aus 42 10 Felder sind obligatorisch und der Rest sind bedingte obligatorisch. d.h. wenn Daten vorhanden sind, sollte es in definierten Format sein. Ich muss auch für Sonderzeichen, Länge, angegebenes Format und so weiter validieren.

Nach der Validierung muss ich gültige Daten in SQL-Server-Tabelle zu speichern und bieten Export in Excel-Funktionalität für ungültige Daten für den Export in gleichen Excel-Format mit Indikator, um die ungültigen Zellen zu identifizieren.

Kann mir jemand vorschlagen, wie ich das Gleiche auf optimierte Weise tun kann?

Ich danke Ihnen...

2voto

AdaTheDev Punkte 135097

Sie können ADO.NET verwenden, um die Daten aus der Kalkulationstabelle einzulesen, wie im Folgenden beschrieben aquí .

Lesen Sie sie in den Speicher ein und analysieren Sie alle Daten wie erforderlich. Speichern Sie die geparsten Daten in einer DataTable, und dann können Sie diese Daten mit mehreren möglichen Methoden in der Datenbank speichern.

Der schnellste und effizienteste Weg, Daten in SQL Server zu laden, ist die Verwendung von SqlBulkCopy. Die alternative Methode ist die Verwendung eines SqlDataAdapters. Vor kurzem habe ich beide Ansätze mit Beispielen und Leistungsvergleichen beschrieben aquí .

0voto

AxelEckenberger Punkte 16238

Sie können, aber Sie sind, AFAIK, nicht erlaubt, Excel COM Interop auf einem Webserver zu verwenden. Und es wird definitiv nicht empfohlen und unterstützt ( fuente ).

Sie haben also 2 Möglichkeiten:

  1. Versuchen Sie, zu einem anderen Format (XML, CSV) zu wechseln oder ein Excel-XML-Format zu verwenden, das Sie mit System.XML oder System.XML.Linq lesen und schreiben können.
  2. Finden Sie eine Komponente, die Excel-Binärdateien lesen und schreiben kann. Es sind kommerzielle und Open-Source-Komponenten verfügbar.

0voto

bkaid Punkte 50360

FileHelpers für .net ist eine anständige Bibliothek, die eine Menge der Verarbeitung für Sie tun wird, wenn Sie für etwas schnell und effizient suchen, ohne eine Tonne davon selbst zu bauen. Sie haben eine Exceldateien in eine Sql-Datenbank zu laden, wie Sie es beschreiben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X