首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

===============高分求asp.net导出excel后 无法远程访问有关问题==========================

2012-03-05 
高分求asp.net导出excel后 无法远程访问问题问题是这样的:在as

===============高分求asp.net导出excel后 无法远程访问问题==========================
问题是这样的:   在asp.net中,把dataTable中的数据导入到excel.   目前本地已经测试没有问题,但局域网中的其它机子访问导出后的excel文件时,没有任何反映.           我已经设置了文件目录everyone读写权限.   以及在Dcom配置中的excel应用程序的 "启动和激活权限 "   "访问权限 "   给于了everyone所有的权限.

代码如下:

Excel.ApplicationClass   myApp;                
Excel.Workbook   myBook;  
Excel.Worksheet   mySheet;  


string   tableName=   "mp_ZZFY ";
string   FilePath=   Server.MapPath(tableName);   //模板文件路径

myApp=   null;  
myBook=   null;  
mySheet=   null;  

object   oMissiong   =   System.Reflection.Missing.Value;  

myApp   =   new   Excel.ApplicationClass();  

myApp.Visible=   false;                                              

myApp.Workbooks.Open(FilePath,   oMissiong,oMissiong,oMissiong,oMissiong,oMissiong,oMissiong,oMissiong,oMissiong,oMissiong,oMissiong,oMissiong,oMissiong,oMissiong,oMissiong);  

myBook=myApp.Workbooks[1];  

mySheet=(Excel.Worksheet)myBook.ActiveSheet;  


#region   一个萝卜一个坑
mySheet.Cells[i,j]   =   DataTable中的数据;
.......
#endregion


myBook.Save();

myBook.Close(true,FilePath,true);  

//myApp.Quit();  

System.Runtime.InteropServices.Marshal.ReleaseComObject(mySheet);  

System.Runtime.InteropServices.Marshal.ReleaseComObject(myBook);  

System.Runtime.InteropServices.Marshal.ReleaseComObject(myApp);  

GC.Collect();  
#endregion

Response.Redirect(FilePath);


[解决办法]
这个其实就是下载一个Excel文件到客户端,跟权限没有关系吧?

建议检查一下客户端,看是不是安装了什么流氓的IE插件原因导致的

回复了两次~~
[解决办法]
看看权限
[解决办法]
1,可以启用模拟,模拟一个管理员权限的用户进行测试
http://support.microsoft.com/?id=306158
2,两个excel版本相同么?不同的版本参数不同
3,不建议在服务器端使用office应用程序
http://support.microsoft.com/kb/288367/zh-cn

4,由于excel与html的兼容性,你只需要生成扩展名字为.xls的文本文件即可.这样简单方便少出错

[解决办法]
直接new个DataGrid之类的然后Render出来存成后缀名xls就行了,还在服务器端用什么office啊晕。。。office遇到意外情况的默认做法是和用户交互,iis里调用可就惨了。。。找神仙交互去

热点排行