日期:2014-05-19  浏览次数:20925 次

datagrid导出到Excel的问题?
导出datagrid到excel
点导出按钮执行后提示错误信息行:Excel.Application     excel=     new   Excel.Application();  
异常详细信息:   System.UnauthorizedAccessException:   拒绝访问。  
ASP.NET   未被授权访问所请求的资源。请考虑授予   ASP.NET   请求标识访问此资源的权限。ASP.NET   有一个在应用程序没有模拟时使用的基进程标识(通常,在   IIS   5   上为   {MACHINE}\ASPNET,在   IIS   6   上为网络服务)。如果应用程序正在通过   <identity   impersonate= "true "/>   模拟,则标识将为匿名用户(通常为   IUSR_MACHINENAME)或经过身份验证的请求用户。  

若要授予   ASP.NET   对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示   ASP.NET   帐户,选中所需访问权限对应的框。

附导出代码:
Excel.Application     excel=     new   Excel.Application();      
excel.Application.Workbooks.Add(true);
for(int   i=1;i <=ds.Tables[ "xx "].Columns.Count;i++)      
{      
excel.Cells[1,i]=ds.Tables[ "xx "].Columns[i-1].ColumnName.ToString();      
}      
for(int   i=2;i <=ds.Tables[ "xx "].Rows.Count+1;i++)      
for(int   j=1;j <=ds.Tables[ "xx "].Columns.Count;j++)      
{      
excel.Cells[i,j]=ds.Tables[ "xx "].Rows[i-2][j-1].ToString();      
}      
excel.Visible   =true;
是何原因?该怎样解决?


------解决方案--------------------
开始> 运行> dcomcnfg> DCOM> Microsoft Excel> 右键> 属性> 安全> 自定义>
IIS_***User
------解决方案--------------------
应该取配置excel 得net权限 提升权限