问题描述
我拿下面的代码可是将服务器端的数据用EXCEl显示,但是不好的是,我现在装的是office2007,在显示数据之前,总会跳出一个框来说文件后缀名不对,然后选择yes就能看数据,之后我装了office2003,然后设置默认用2003打开,就不会出现那个提示对话框,请问,怎么做能用2007显示,但不要显示那个对话框阿?Response.ClearContent();Response.ClearHeaders();Response.ContentType="application/vnd.ms-excel";Response.Write(showData);Response.End();
解决方案
解决方案二:
将文件名改成.xlsx试试
解决方案三:
我试了将文件保存成.xlsx,但是直接打不开了。。。。数据都不显示了。。。奇怪。。。
解决方案四:
Response.ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
解决方案五:
我试了将文件保存成.xlsx,倒是去调用EXCEL2007了,但是不能显示出数据了。。。。
解决方案六:
Response.ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";这种方法还是不行。。。。
解决方案七:
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>标题页</title><SCRIPTLANGUAGE="JavaScript">functionExportExcel(){varoXL=newActiveXObject("Excel.Application");//创建excel应用程序对象varoWB=oXL.Workbooks.Add();//创建工作簿varoSheet=oWB.ActiveSheet;//获取当前活动的工作簿vartable=document.all.data;//获取当前页面中的表格varhang=table.rows.length;//获取表格有多少行varlie=table.rows(0).cells.length;//获取首行有多少列-多少标题for(i=0;i<hang;i++)//添加标题到表格中{for(j=0;j<lie;j++){oSheet.Cells(i+1,j+1).Value=table.rows(i).cells(j).innerText;//设置标题的内容}}oXL.Visible=true;//设置Excel的属性oXL.UserControl=true;}</SCRIPT></head><body><inputtype="button"name="btnExcel"onclick="ExportExcel()"value="导出到excel"class="notPrint"><tableid="data"width="200"border="1"><tr><td>姓名</td><td>年龄</td></tr><tr><td>张三</td><td>22</td></tr><tr><td>昂立</td><td>888888888888</td></tr><tr><td>效力 </td><td>23</td></tr></table></body></html>
解决方案八:
this.Response.Clear();this.Response.Buffer=true;this.Response.AppendHeader("Content-Disposition","attachment;filename="+DateTime.Now.ToString()+".xls");this.Response.ContentEncoding=Encoding.UTF7;this.Response.ContentType="application/vnd.ms-excel";this.Response.ContentType="application/ms-excel";//2007CultureInfoformatProvider=newCultureInfo("ZH-CN",true);StringWriterstringwriter=newStringWriter(formatProvider);HtmlTextWriterhtmlwriter=newHtmlTextWriter(stringwriter);this.GridView1.RenderControl(htmlwriter);this.Response.Write(stringwriter.ToString());this.Response.End();
解决方案九:
引用5楼qljyes的回复:
Response.ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";这种方法还是不行。。。。
不可能,除非你写的格式本来就不对。请参考http://support.microsoft.com/kb/931866
解决方案十:
好像是一个属性没有设置。。。