Wygenerowałem plik Excel z OpenXML 2.7.2 w .NETCoreApp 1.1 i zapisałem go w folderze projektu. Następnie w mojej funkcji czytam bajty i próbuję zwrócić je jako plik. Nie dostaję błędu, ale w odpowiedzi właśnie otrzymuję plik binarny. Wygląda na to, że działa, ale nie zostaje pobrana.W jaki sposób wyświetlić pobrany plik programu Excel utworzony za pomocą OpenXml w .NET Core
Oto mój kod:
[HttpGet]
[Route("export")]
public IActionResult Export()
{
return File(System.IO.File.ReadAllBytes(filePath),
contentType: "application/octet-stream",
fileDownloadName: "MySheet.xlsx");
}
Jeśli ktoś wie jak służyć do pobrania excel plik w rdzeniu .net daj mi znać. Jakakolwiek pomoc się przyda, dzięki!
UPDATE
nie jestem pewien, że korupcja jest związane z generowania pliku Excel z OpenXML bo nawet gdy próbuję eksportować pusty plik, który nie został wygenerowany z OPENXML uzyskać ten sam komunikat o błędzie "Plik jest uszkodzony i nie można go otworzyć". Nie jest też całkowicie związany z programem Excel 2016, ponieważ mogę w nim otwierać inne pliki programu Excel.
Twój kod powinien zadziałać. Mam problem ze zrozumieniem, jaki masz problem. Pobrany plik zostanie dostarczony jako plik binarny? Co ten obraz w pytaniu ma reprezentować i jakie narzędzie jest używane? W jaki sposób wywoływana jest akcja? – Nkosi
Obrazek pokazuje, co otrzymuję w odpowiedzi na moje połączenie http, które jest binarne Excel. Nie chcę tego. Chcę, aby plik zapisał na PC/Mac pod nazwą MySheet.xlsx. Narzędzie, którego użyłem do wyświetlenia odpowiedzi, to narzędzie Chromes Inspect. Wywołuję trasę eksportu z mojego przedniego końca, która jest kanciasta 2. – jonv562
Jeśli po prostu wprowadzisz adres URL w przeglądarce, wyświetli się monit o pobranie pliku, lub przynajmniej zacznij go pobierać, jeśli przeglądarka jest skonfigurowana do tego celu . – Nkosi