在rdlc報告中,我想導出rdlc報告爲excel格式2007,即.xlsx格式。我寫了下面的代碼來獲得這樣的輸出。但系統產生.xls格式。在這一點上請幫助我。如何在asp.net中將RDLC報告導出爲.xlsx格式?
private void PopulateReport(List<OrderDetail> objectList, string datasetName, string reportPath, out string mimeType, out byte[] renderedBytes, decimal fileWidth, decimal fileHeight)
{
LocalReport localReport = new LocalReport();
localReport.ReportPath = Server.MapPath(reportPath);
ReportDataSource reportDataSource = new ReportDataSource(datasetName, objectList);
localReport.DataSources.Add(reportDataSource);
//localReport.SetParameters(new ReportParameter("pm", "", false));
string reportType = "excel";
mimeType = string.Empty;
string encoding = string.Empty;
string fileNameExtension = string.Empty;
//The DeviceInfo settings should be changed based on the reportType
string deviceInfo =
"<DeviceInfo>" +
" <OutputFormat>PDF</OutputFormat>" +
" <PageWidth>" + fileWidth + "in</PageWidth>" +
" <PageHeight>" + fileHeight + "in</PageHeight>" +
" <MarginTop>0.5in</MarginTop>" +
" <MarginLeft>1in</MarginLeft>" +
" <MarginRight>1in</MarginRight>" +
" <MarginBottom>0.5in</MarginBottom>" +
"</DeviceInfo>";
Warning[] warnings;
string[] streams;
//Render the report
renderedBytes = localReport.Render(reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
//Clear the response stream and write the bytes to the outputstream
//Set content-disposition to "attachment" so that user is prompted to take an action
//on the file (open or save)
Response.Clear();
Response.ContentType = mimeType;
Response.AddHeader("content-disposition", "attachment; filename=foo." + fileNameExtension);
Response.BinaryWrite(renderedBytes);
Response.End();
}
我已添加,但它沒有工作 – 2015-02-08 17:37:06