vs2005中调用addoledb插入一个excel调试执行和发布后执行结果不一样

gorlden 2008-09-24 11:31:11
vs2005,新建website,添加引用office excel组件,在网页中生成excel下载,在生成excel过程中需要再插入另外一个excel对象,oSheet1.shapes.AddOleObject(missing,"c:\test.xls",missing,missing,...,0,0,200,200);
结果在调试执行的时候,生成的excel文件里面这个excel对象是正确的,能正常显示test.xls里面的内容,但是发布到iis上生成的excel里面,这个excel对象却变成了一个很小很小的小圆点,且双击这个小圆点能够打开test.xls的内容,而且关闭这个新打开的excel回去原来那个excel之后,那个小圆点就变成了正常的对象,能够显示出test.xls的内容,大小也正常。
不知道我这么说的明白不,希望各位达人抽空指点一二,分数多多,多谢!
...全文
73 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gorlden 2008-09-24
  • 打赏
  • 举报
回复
自己顶一下
gorlden 2008-09-24
  • 打赏
  • 举报
回复
又研究了一下,发现的确是权限的问题导致,在调试时任务管理器中出现的excel.exe的用户是administrator,但在iis上执行时是aspnet,于是在web.config中使用<identity impersonate="true" userName="administrator" password="" />来模拟管理员用户启动,结果在iis下执行正确。

现在的问题是,直接在配置文件中这样配置似乎不大好,我也知道可以通过设置到注册表中加密,但是这样一是比较麻烦,二是提升权限还是范围太大了,有没有什么别的更好的办法呢?
gorlden 2008-09-24
  • 打赏
  • 举报
回复
vs2005,新建website,添加引用office excel组件,在网页中生成一个excel保存

Excel.Application oXL = new Excel.Application();
Excel._Workbook oWB;
Excel._Worksheet oSheet1;
object missing = Missing.Value;
oWB = (Excel._Workbook)(oXL.Workbooks.Add(missing));
oSheet1 = (Excel._Worksheet)oWB.ActiveSheet;
//add some text to oSheet1.Cells

oSheet1.Shapes.AddOLEObject(missing, "c:\temp.xls", false, false, missing, 0, missing, 10, 10, 200, 200);

oWB.SaveAs("c:\test.xls", missing, missing, missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);
oWB.Close(false, false, missing);
oXL.Quit();

test.xls中嵌入了temp.xls表格,在调试执行时,test.xls中嵌入的表格能正常显示,在发布到iis中执行却不能正常显示。
gorlden 2008-09-24
  • 打赏
  • 举报
回复
没有人遇到过这个问题吗,给个能正常执行的demo也行啊
greatverve 2008-09-24
  • 打赏
  • 举报
回复
学习.
gorlden 2008-09-24
  • 打赏
  • 举报
回复
我也觉得应该是iis配置的问题,可是需要怎么设置呢,是权限方面吗,还是什么呢,期待ing..
spark_cao 2008-09-24
  • 打赏
  • 举报
回复
应该是IIS设置的问题

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧