如题,请各们大侠帮忙解决详述:
我在本机上运行的程序,本机运行会弹出汇出数据的Excel文件,我跑断点,发现是以下这几句代码会调用Excel,弹出Excel文件
exlapp.Cells.EntireColumn.AutoFit();
exlapp.Cells.VerticalAlignment = Excel.Constants.xlCenter;
exlapp.Cells.HorizontalAlignment = Excel.Constants.xlCenter;
exlapp.Visible = true;但是用客户端访问时,不报错,也没有反映请各位大侠帮忙,看看问题出在哪里?怎样做才能让客户端访问是也可以弹出汇出数据的Excel文件
万分感谢!!!!

解决方案 »

  1.   

    Excel文件 是代码生成的还是套用模板!
      

  2.   

    先确保是安装的相同版本的Excel。
      

  3.   

    这是服务器端的代码。你需要在服务器上先存成xls文件,然后输出到客户端
      

  4.   


    我在本机上运行的时候都没有先存成XLS文件,为什么放在服务器上要先存XLS文件,能否说的详细一点在本机上运行就可以弹出一个新的已汇出数据的EXCEL文件,然后把程序放在服务器上,在客户端访问,就不会弹出,也不报错
      

  5.   

    给你个代码,在vs2010上可用
    using System.Data.OleDb;//引用的程序集
    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
                    excel.Application.Workbooks.Add(true);                {//增加列名
                        excel.Cells[1, 1] = "点名";
                        excel.Cells[1, 2] = "转角(β)";
                        excel.Cells[1, 3] = "改正数(Vβ)";
                        excel.Cells[1, 4] = "改正后角度(β)";
                        excel.Cells[1, 5] = "坐标方位角(α)";
                        excel.Cells[1, 6] = "边长(S)";
                        excel.Cells[1, 7] = "增量(Δx)";
                        excel.Cells[1, 8] = "增量(Δy)";
                        excel.Cells[1, 9] = "改正数(Vx)";
                        excel.Cells[1, 10] = "改正数(Vy)";
                        excel.Cells[1, 11] = "改正后增量(Δx)";
                        excel.Cells[1, 12] = "改正后增量(Δy)";
                        excel.Cells[1, 13] = "坐标(X)";
                        excel.Cells[1, 14] = "坐标(Y)";
                        excel.Cells[1, 15] = "点名";
                    }
                    for (int i = 1; i < activeForm.n + 1; i++)//循环在每个单元格中放入数据
                        for (int j = 1; j < 16; j++)
                            excel.Cells[i+1 , j] = activeForm.c1FlexGrid1[i, j].ToString();//数据
                    
                    excel.Visible = true;//显示excel
      

  6.   

    楼上的,谢谢你的代码,你最后的一句,我也用了
    excel.Visible = true;//显示excel
    这一句,在本机运行的时候会显示出来,但是放到服务器上,在客户端访问就不显示了
      

  7.   

    客户端是否装了07office呢,可能是excel驱动程序不对
      

  8.   

    这一句,在本机运行的时候会显示出来,但是放到服务器上,在客户端访问就不显示了4楼给了你答案。你想在客户端直接打开服务器端的Excel吗?那是做梦,春秋牌的。要是想通过客户端访问触发服务器端Excel的生成,那涉及到一些权限的设置。自己google去,有解决方案。