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的内容,大小也正常。
不知道我这么说的明白不,希望各位达人抽空指点一二,分数多多,多谢!

解决方案 »

  1.   

    我也觉得应该是iis配置的问题,可是需要怎么设置呢,是权限方面吗,还是什么呢,期待ing..
      

  2.   

    没有人遇到过这个问题吗,给个能正常执行的demo也行啊
      

  3.   

    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中执行却不能正常显示。
      

  4.   

    又研究了一下,发现的确是权限的问题导致,在调试时任务管理器中出现的excel.exe的用户是administrator,但在iis上执行时是aspnet,于是在web.config中使用<identity impersonate="true" userName="administrator" password="" />来模拟管理员用户启动,结果在iis下执行正确。现在的问题是,直接在配置文件中这样配置似乎不大好,我也知道可以通过设置到注册表中加密,但是这样一是比较麻烦,二是提升权限还是范围太大了,有没有什么别的更好的办法呢?