Ich habe eine Reihe von Excel-Vorlagen, die von Benutzern eingegeben werden. Ich muss die in diesen Vorlagen eingegebenen Daten in die Datenbank importieren. Problem mit den Vorlagen ist, dass sie nicht in den Tabellenformaten sind.Wie Excel-Dateien in asp.net in jede Datenbank importieren?
Antwort
Von Ihrer Frage, ich nehme an, Sie haben bereits JET/OLEDB ausgeschlossen, um auf die Tabellendaten zuzugreifen, die nur wirklich mit Tabellendaten arbeiten. Sie benötigen also eine Möglichkeit, auf einzelne Zellen usw. zuzugreifen.
Sie können öffnen die Excel-Dateien mit Excel (über Interop), wie ich bin sicher, jemand wird vorschlagen. Aber wenn Sie dies vermeiden können, sollten Sie - es gibt alle möglichen Probleme damit (es ist flockig, und Sie werden keine Hilfe von Microsoft bekommen, da sie grundsätzlich sagen, tun Sie es nicht).
Sie können dies vermeiden, wenn Sie Ihre Excel-Dateien als XML speichern können.
Wenn Sie mit Excel 2003 können Sie Speichern unter „XML-Kalkulationstabelle“, die funktional äquivalent zu einer normalen XLS-Datei, mit der Ausnahme, dass es nicht Diagramme oder Makrocode enthalten. Andere als das, es sieht genau gleich für einen Benutzer - und es ist viel einfacher zu in Code verarbeiten.
Wenn Sie mit Excel 2007 dann das native Dateiformat ist bereits XML (wenn auch in einer ZIP-Datei gespeichert), und wieder können Sie das in Code verarbeiten. Es gibt viele Beispiele online.
Sie können die Open XML SDK verwenden, um die Daten zu bekommen Sie brauchen:
http://blogs.msdn.com/excel/archive/2008/11/25/using-the-open-xml-sdk-to-work-with-excel-files.aspx
Wenn Sie Sharepoint Excel Services haben Sie verwenden könnten. Wäre es wahrscheinlich nicht wert, es nur für diesen Job zu kaufen.
Sie könnten auch Excel über Excel-Interop verwenden, obwohl Sie auf Lizenzprobleme und Speicherlecks achten müssen.
Ich würde das Open XML SDK empfehlen.
können Sie xls und xlsx Arbeitsmappen öffnen, erhalten Sie einen Bereich in eine DataTable, oder durchlaufen Sie die Zellen und erhalten Sie die Rohdaten oder den formatierten Text jeder Zelle.
Sie können ASP.NET-Beispiele (C# oder VB) here anzeigen und eine kostenlose Testversion herunterladen here.
Haftungsausschluss: Ich besitze SpreadsheetGear LLC
- 1. CSV in Heroku-Datenbank importieren
- 2. XML in SQL-Datenbank importieren
- 3. C#: Wie programmgesteuert SQL-Skript in Datenbank importieren?
- 4. Wie importieren Daten in eine Datenbank in Oracle
- 5. Importieren einer Datenbank in DataGrip (0xDBE)
- 6. Importieren von CSV-Datei in mysql-Datenbank
- 7. Importieren Sie SQLite-Datenbank in Android-Emulator
- 8. Importieren von XML in die phpmyadmin Datenbank
- 9. MAMP: Importieren einer großen Datenbank in phpMyAdmin
- 10. Max (ID) jede Tabelle in einer Datenbank
- 11. Speicherauslastung in Redis für jede Datenbank
- 12. Importieren Sie eine Klasse in ASP.NET
- 13. Importieren von Textdatei in MySQL-Datenbank Fehler
- 14. ASP.NET: JSON-Datei in DB in Server-Explorer importieren
- 15. joomla Datenbank importieren Fehler
- 16. Apex exportieren/importieren von einer Datenbank in eine andere Datenbank
- 17. Wie wird jede Entität in ihrer jeweiligen Datenbank generiert?
- 18. Wie die SQL-Datei zu PostgrSQL-Datenbank in Ubuntu importieren
- 19. Wie kann ich MySQL-Datenbank in Neo4j auf Windows importieren?
- 20. Wie Excel in MySQL-Datenbank von PHP-Datei importieren
- 21. Sollte ich UIKit in jede Datei importieren, die ich code?
- 22. Wie kann ich Opencart-Datenbank von der vorhandenen Datenbank importieren
- 23. Importieren CSV-Datei in Sqlite-Datenbank in iPhone SDK
- 24. Importieren von .bak-Datei in eine Datenbank in SQL Server
- 25. Importieren der CSV-Datei in Sqlite-Datenbank in Android
- 26. Importieren CSV-Datei in Grid-Ansicht in Asp.net
- 27. ASP.NET MVC CookieTempDataProvider: jede Erfahrung?
- 28. Importieren von Datenbank in PostgresSQL in Schienen Anwendung
- 29. ASP.Net Verfolgung der Benutzeraktivität in der Datenbank
- 30. Importieren der Masterseite in eine andere Masterseite in ASP.NET
Hallo Gary, Danke. Ich werde es versuchen. Ich fand jedoch eine einfache Lösung. Ich schreibe ein Makro, das die Daten von allen Blättern sammelt und in Tabellenform schreibt. Ich werde JET/OLEDB die Daten lesen und in die Datenbank einfügen. – raj