0
OpenXMLを使用して、MVCアプリケーションでExcelドキュメントを作成しています。限り、コードが行く、私はすべてを正しくやっていると思う。OpenXMLでExcelを作成してもファイルが開かない
C#
public FileResult GetExcelReport()
{
// Build dataset
var excelStream = CreateSpreadsheet(data);
return new FileStreamResult(excelStream, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet);
}
internal MemoryStream CreateSpreadsheet(DataSet data)
{
var stream = new MemoryStream();
SpreadsheetDocument ssDoc = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook);
// do some stuff to make a spreadsheet
ssDoc.Close();
return stream;
}
JS
function createExcelReport(){
$.ajax({
url: "/Remote/GetExcelReport",
type: "GET",
dataType: "text",
cache: false,
data: {
sData: // params for report
},
success: function(data){
window.location.href = "/Page/Index"
}, error: function(error){
}
});
}
私はそれが実際に/セーブをダウンロードせずにブラウザで開くファイルを望んでいます。プロセスは動作しているように見えますが、ファイルは開かれません。私が変更した場合は
SpreadsheetDocument ssDoc = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook);
SpreadsheetDocument ssDoc = SpreadsheetDocument.Create("filename.xlsx", SpreadsheetDocumentType.Workbook);
(代わりにメモリストリームのファイル名を使用する)、すべてが正常に動作し、それは私のハードドライブに保存されますが、その後私が持っている
へその場所に移動してファイルを開きます。私は何が間違っているかもしれないと思いますか?前もって感謝します!