So exportieren Sie Daten mit LINQ to Entity nach Excel?

8

Ich habe die Daten aus der Entity Data-Modell-Tabelle auf meiner ASP.NET-Seite. Jetzt muss ich diese Daten per Knopfdruck in Excel exportieren.

Wenn es OLEDB verwendet, ist es so einfach wie hier: Ссылка

Hier ist meine Funktion zum Lesen von Daten aus der Abfragetabelle:

%Vor%     
Rita 04.02.2010, 19:39
quelle

7 Antworten

3

Sie können immer noch in die Excel-Tabelle einfügen, indem Sie dieselbe Technik verwenden, die im verknüpften Artikel angegeben ist.

Verwenden Sie einfach den folgenden Pseudo-Code

%Vor%     
Hidden_au 29.03.2010 01:00
quelle
1

Sie können einfach eine Zeichenfolgendarstellung Ihrer Daten schreiben - Tabulator für jedes Feld und \ r \ n für jede Zeile getrennt. Dann streamen Sie den Browser als CSV-Datei, die automatisch in Excel geöffnet wird.

    
Corey Coogan 05.02.2010 15:15
quelle
1

Sie können Reflektion verwenden, um eine Liste von Eigenschaften abzurufen, und dann diese Liste von Eigenschaften (und Reflektionen) verwenden, um das Ergebnis Ihrer Abfrage in eine alte ADO.Net DataTable zu stopfen. DataTable verfügt über WriteXML, mit dem eine temporäre XML-Datei im Ordner temp (unter Verwendung von System.IO) gespeichert werden kann. Dann verwenden Sie einfach OpenXML in der Excel-Anwendung.

Ich habe Codebeispiele bei Ссылка wenn Sie diesen Ansatz ausprobieren möchten. IMO scheint dies die schnellste (zumindest viel schneller als der Versuch, direkt nach Excel schreiben), einfachste (zumindest viel einfacher als versuchen, Ihre Abfrage in ein eigenes XML-Format zu konvertieren), und die meisten wiederverwendbaren Methode (Plus im Codebeispiel sind wir späte Bindung, so dass Sie gegen gemischte Umgebung entwickeln können, vorausgesetzt, mindestens Excel 2003).

    
William 23.10.2012 18:29
quelle
0

Wie bereits erwähnt, ist der einfachste Weg, Daten in Excel zu exportieren, die Generierung von Text oder XML-Präsentationen. Für mich bevorzuge ich SpreadSheetML und T4 Text Templating-Engine für die Dateierzeugung. Sie können sich die T4-Beispieldatei hier ansehen: Ссылка .

Wenn Sie sich für die Verwendung von T4 entscheiden, denken Sie daran, dass T4 der Teil von MS Visual Studio ist und Sie ihn NICHT separat verteilen dürfen. Das Problem kann durch Installieren von Visual Studio Express Edition auf dem Zielcomputer gelöst werden.

Alternativ können Sie die Build-in-Aspx-Templating-Engine verwenden, die für die Generierung von aspx view-Klassen verwendet wird. Schau mal, wie es hier gemacht wird [ups, es ist mir nicht erlaubt, mehr Hyperlinks zu posten, wenn du noch interessiert bist, lass es mich wissen] (beachte, dass dies eine echte Anwendung ist, also Code ziemlich groß und schmutzig). Die Aspx-Engine handhabt das Style-Tag auf seine eigene Art und Weise, daher müssen Sie einen qualifizierten Namen verwenden, damit es funktioniert. Auch die automatische Formatierung in Visual Studio funktioniert nicht richtig.

    
schernichkin 22.03.2010 07:30
quelle
0

Sie können die Verwendung von SpreadSheetML in Erwägung ziehen, im Grunde eine XML-Datei mit einem Cocoon-Prozess, der über der XML-Datei erwähnt wird, um die Excel-Anwendung durch Doppelklicken auf die XML-Datei zu starten. Beispiel für SpreadSheetML wie unten bereitgestellt.

%Vor%

Hoffe, das hilft.

    
StevenzNPaul 10.03.2010 08:41
quelle
0

Sie können die Open-Source-NPOI-Bibliothek verwenden, um Excel, Doc, Powerpoint usw. auszugeben.

rtpHarry 05.04.2010 15:12
quelle
0

Der einfachste Weg ist, eine Gitteransicht zu binden und zu exportieren, siehe Ссылка (erstes Beispiel mit Google finden)

    
Flatlineato 07.04.2010 12:00
quelle