Download Excel-Datei nach dem erstellen mit EPPlus
Ich bin mit dem EPPlus-Bibliothek zum generieren einer excel-Datei, die ich erfolgreich speichern Sie in einem Ordner auf dem server.
Wie können diese Datei herunterladen, Sie auf meiner lokalen Maschine?
Dies ist mein code
public void CreateExcelFirstTemplate()
{
var fileName = "C:\ExcelDataTest\ExcellData.xlsx";
var file = new FileInfo(fileName);
using (var package = new OfficeOpenXml.ExcelPackage(file))
{
var worksheet = package.Workbook.Worksheets.FirstOrDefault(x => x.Name == "Attempts");
worksheet = package.Workbook.Worksheets.Add("Assessment Attempts");
worksheet.Row(1).Height = 20;
worksheet.TabColor = Color.Gold;
worksheet.DefaultRowHeight = 12;
worksheet.Row(1).Height = 20;
worksheet.Cells[1, 1].Value = "Employee Number";
worksheet.Cells[1, 2].Value = "Course Code";
var cells = worksheet.Cells["A1:J1"];
var rowCounter = 2;
foreach (var v in userAssessmentsData)
{
worksheet.Cells[rowCounter, 1].Value = v.CompanyNumber;
worksheet.Cells[rowCounter, 2].Value = v.CourseCode;
rowCounter++;
}
worksheet.Column(1).AutoFit();
worksheet.Column(2).AutoFit();
package.Workbook.Properties.Title = "Attempts";
package.Save();
}
}
Möchten Sie diese Datei speichern auf dem server oder Sie wollen einfach nur, um zu erzeugen, es jedes mal, wenn Benutzer eine download?
Ich will um die Datei zu generieren jedes mal, wenn der Benutzer anfordert, eine download
Ich will um die Datei zu generieren jedes mal, wenn der Benutzer anfordert, eine download
InformationsquelleAutor Arianule | 2015-01-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die Erzeugung dieser Datei auf jede Anforderung, die Sie nicht brauchen, um es zu speichern auf dem server:
Sie nicht brauchen, um ajax verwenden, um die Datei herunterladen. Ein reguläres get/post. Da der Content-Disposition-Leitung, die wir uns setzen, Browser wissen, wie man mit der Antwort richtig (beim herunterladen eines Anhangs). Lesen Sie über diesen header hier: developer.mozilla.org/en-US/docs/Web/HTTP/Headers/...
Perfekte Lösung vielen Dank!!!
InformationsquelleAutor Alex Art.
Anstatt
package.Save()
können Siepackage.GetAsByteArray()
wird wieder ein byte-array, das kannst du dann einen stream mitFileResult
oderFileContentResult
vom MVC-Aktion auslösen Datei herunterladen. Diese Methode ermöglicht es Ihnen, um die Datei herunterzuladen, ohne Sie zu speichern, um den server zuerst.InformationsquelleAutor Steven V
Hier ist Beispiel-Aktion zu Datei herunterladen. Fühlen Sie sich frei, es zu ändern, wie pro Ihre Anforderung.
InformationsquelleAutor Pankaj Kapare
Können Sie dies so tun:
Ausführliche blog: http://sforsuresh.in/generating-and-formatting-excelsheet-in-c-using-epplus/
InformationsquelleAutor Suresh Kamrushi