Ich bin derzeit arbeiten am Export des Objekts in XLSX-Datei. Dies ist so nah an dem, was ich brauche, Export xlsx in ASP.NET Core , aber das Problem ist - das ist der Export in den lokalen Projektordner wwwroot, und ich möchte auf Client-Maschine exportieren.Exportieren von Objekt in .xlsx Client-Maschine asp.net Kern
Ich hatte dies versucht.
private readonly IHostingEnvironment _hostingEnvironment;
public ImportExportController(IHostingEnvironment hostingEnvironment)
{
_hostingEnvironment = hostingEnvironment;
}
[HttpGet]
[Route("Export")]
public FileStreamResult Export()
{
string sWebRootFolder = _hostingEnvironment.WebRootPath;
string sFileName = @"demo.xlsx";
string URL = string.Format("{0}://{1}/{2}", Request.Scheme, Request.Host, sFileName);
FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
if (file.Exists)
{
file.Delete();
file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
}
using (ExcelPackage package = new ExcelPackage(file))
{
// add a new worksheet to the empty workbook
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Employee");
//First add the headers
worksheet.Cells[1, 1].Value = "ID";
worksheet.Cells[1, 2].Value = "Name";
worksheet.Cells[1, 3].Value = "Gender";
worksheet.Cells[1, 4].Value = "Salary (in $)";
//Add values
worksheet.Cells["A2"].Value = 1000;
worksheet.Cells["B2"].Value = "Jon";
worksheet.Cells["C2"].Value = "M";
worksheet.Cells["D2"].Value = 5000;
worksheet.Cells["A3"].Value = 1001;
worksheet.Cells["B3"].Value = "Graham";
worksheet.Cells["C3"].Value = "M";
worksheet.Cells["D3"].Value = 10000;
worksheet.Cells["A4"].Value = 1002;
worksheet.Cells["B4"].Value = "Jenny";
worksheet.Cells["C4"].Value = "F";
worksheet.Cells["D4"].Value = 5000;
package.Save(); //Save the workbook.
}
FileStream RptStream = new FileStream(Path.Combine(sWebRootFolder, sFileName), FileMode.Open, FileAccess.Read);
return new FileStreamResult(RptStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
}
aber scheint, wie ich das Arbeitsblatt exportieren müssen Ordner und später bei der Rückkehr Filestreamresult mit dem Arbeitsblatt URL wwwroot. und ich weiß nicht, wie man die URL des Arbeitsblattes in filestreamerult Funktion erhält.
Jeder kann mir helfen? Ich möchte diese .xlsx auf Client-Computer anstelle von wwwroot exportieren.
Ich bin unklar, was die Frage ist. Was macht der Code jetzt? Was willst du stattdessen tun? – mjwills
Dieser Code ist Export Excel Arbeitsblatt zu wwwroot Ordner, z. Export.xlsx, und ich möchte tatsächlich auf Client-Computer exportieren. –