Heim >Backend-Entwicklung >C++ >Wie exportiere ich Daten mithilfe von EPPlus effizient aus einer ASP.NET MVC-Anwendung nach Excel?
Diese Frage konzentriert sich auf den Export von Daten nach Excel aus einer ASP.NET MVC-Anwendung. Während in der bereitgestellten Anleitung ein HTML-zu-Excel-Konvertierungsansatz vorgeschlagen wird, geht es in diesem Artikel um die Verwendung von EPPlus, einer Excel-Paketbibliothek, zum Erstellen richtiger Excel-Dateien.
EPPlus bietet Methoden wie LoadFromDataTable und LoadFromCollection, um einen Excel-Bereich mit Daten zu füllen. Hier ist ein Beispiel für die Erstellung einer Excel-Datei:
using (ExcelPackage package = new ExcelPackage()) { var ws = package.Workbook.Worksheets.Add("My Sheet"); ws.Cells["A1"].LoadFromDataTable(dataTable, true); var stream = new MemoryStream(); package.SaveAs(stream); string fileName = "myfilename.xlsx"; string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; stream.Position = 0; return File(stream, contentType, fileName); }
EPPlus ermöglicht die Formatierung und Anwendung von Tabellenstilen auf die exportierten Daten. Zum Beispiel:
var range = ws.Cells["A1"].LoadFromDataTable(table); range.Style.Numberformat.Format = "#,##0.00"; range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right; ws.Cells[1,1].LoadFromDataTable(table, true, TableStyles.Light1);
Um Probleme mit der Stream-Verarbeitung zu vermeiden, kann eine benutzerdefinierte FileResult-Klasse erstellt werden, um EPPlus-Paketantworten zu verwalten:
public class EpplusResult : FileResult { public EpplusResult(ExcelPackage package) : base("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { if (package == null) { throw new ArgumentNullException("package"); } Package = package; } public ExcelPackage Package { get; private set; } protected override void WriteFile(HttpResponseBase response) { Stream outputStream = response.OutputStream; using (Package) { Package.SaveAs(outputStream); } } }
public FileResult ExportData() { ExcelPackage package = new ExcelPackage(); var ws = package.Workbook.Worksheets.Add("My Sheet"); ... ws.Cells[1, 1].LoadFromDataTable(table, true, TableStyles.Light1); return new EpplusResult(package) { FileDownloadName = "SomeFile.xlsx" }; }
Das obige ist der detaillierte Inhalt vonWie exportiere ich Daten mithilfe von EPPlus effizient aus einer ASP.NET MVC-Anwendung nach Excel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!