欢迎来到天天文库
浏览记录
ID:48641271
大小:37.00 KB
页数:9页
时间:2020-01-30
《解决ASPNET导出Excel文件时_用Excel2007打开时弹出文件类型与扩展名不同的对话框.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.word格式,解决ASP.NET导出Excel文件时用Excel2007打开时弹出文件类型与扩展名不同的对话框protectedvoidbtnExport_Click(objectsender,EventArgse)3{4stringstrMapPath=Server.MapPath("~/");//获取Web应用程序的物理路径5stringsourceExcelFileName=strMapPath+"Temp.xls";//源Excel文件名6stringtargetExcelFileName=strMapP
2、ath+@"TempExcel"+Guid.NewGuid().ToString()+".xls";//使用Guid生成全局唯一字符串,作为目标Excel文件的文件名78File.Copy(sourceExcelFileName,targetExcelFileName);//Copy文件,放在目标文件夹中910//Excel模型,用来操作Excel文件11Microsoft.Office.Interop.Excel.Application,专业.专注..word格式,excelApp=null;12Microso
3、ft.Office.Interop.Excel.WorkbookexcelWb=null;13Microsoft.Office.Interop.Excel.WorksheetexcelWs=null;14Microsoft.Office.Interop.Excel.RangeexcelR=null;1516try17{18excelApp=newMicrosoft.Office.Interop.Excel.Application();19excelWb=excelApp.Workbooks.Open(targetE
4、xcelFileName);//打开Excel工作簿文件20excelWs=(Microsoft.Office.Interop.Excel.Worksheet)(excelWb.Sheets.get_Item(1));//选择工作簿中第一个工作表2122//向Excel中添加列名23for(inti=0;i<dtbl.Columns.Count;i++),专业.专注..word格式,24{25stringrangeName=((Char)(i+65)).ToString()+"1";//计算出单元格的位置(例
5、:第一行第二列在Excel中为B1,即为值为1+65的字符+"1"。)26excelR=excelWs.get_Range(rangeName);27excelR.Value=dtbl.Columns[i].ColumnName;//在对应单元格中写入值28}2930//把每一行数据写入Excel模型中31for(inti=0;i<dtbl.Rows.Count;i++)32{33for(intj=0;j<dtbl.Columns.Count;j++)34{35stringrangName=((Char
6、)(j+65)).ToString()+(i+2).ToString();//表格内容的写入从第二行开始,专业.专注..word格式,36excelR=excelWs.get_Range(rangName);37excelR.Value=dtbl.Rows[i][j];//在Excel中写入对应单元格的内容38}39}40excelWb.Save();4142}43catch(Exception)44{45Response.Write("<scripttype='text/javascript'>ale
7、rt('生成失败!');</script>");46}47finally48{49//关闭Excel,否则Excel文件将无法被打开50excelWb.Close();51excelApp.Workbooks.Close();52excelApp.Quit();,专业.专注..word格式,53}5455//向客户端发送文件...56Response.Clear();57Response.AddHeader("Content-Disposition","attachment;filename=excel
8、.xls");//设置回发内容为Excel58Response.ContentType="application/ms-excel";59Response.WriteFile(targetExcelFileName);//把刚刚生成的Excel文件写入Http流60Response.End();6162}2.由于会在临时文件夹中存储Excel文件,所以写了一
此文档下载收益归作者所有