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);
(대신에 메모리 스트림의 파일 이름을 사용하는) 모든 것이 잘 작동하고 내 하드 드라이브에 저장하지만 그때에이
에 위치를 탐색하여 파일을 엽니 다.내가 뭘 잘못하고 있는지에 대한 생각은 없습니까? 미리 감사드립니다!