C#.NET 导出Excel时,本机运行会弹出汇出数据的Excel文件,客户端访问不报错,不弹出

.Net技术 码拜 9年前 (2015-05-10) 545次浏览 0个评论
 

如题,请各们大侠帮忙解决

详述:
我在本机上运行的程序,本机运行会弹出汇出数据的Excel文件,我跑断点,发现是以下这几句代码会调用Excel,弹出Excel文件
exlapp.Cells.EntireColumn.AutoFit();
exlapp.Cells.VerticalAlignment = Excel.Constants.xlCenter;
exlapp.Cells.HorizontalAlignment = Excel.Constants.xlCenter;
exlapp.Visible = true;

但是用客户端访问时,不报错,也没有反映

请各位大侠帮忙,看看问题出在哪里?怎样做才能让客户端访问是也可以弹出汇出数据的Excel文件
万分感谢!

自己顶!
2分
Excel文件 是代码生成的还是套用模板!
2分
先确保是安装的相同版本的Excel。
10分
这是服务器端的代码。你需要在服务器上先存成xls文件,然后输出到客户端
引用 4 楼 net_lover 的回复:

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

我在本机上运行的时候都没有先存成XLS文件,为什么放在服务器上要先存XLS文件,能否说的详细一点

在本机上运行就可以弹出一个新的已汇出数据的EXCEL文件,然后把程序放在服务器上,在客户端访问,就不会弹出,也不报错

引用 2 楼 tangxinggang 的回复:

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

是代码生成的,没用套用模板!

10分
给你个代码,在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

楼上的,谢谢你的代码,你最后的一句,我也用了
excel.Visible = true;//显示excel
这一句,在本机运行的时候会显示出来,但是放到服务器上,在客户端访问就不显示了
3分
客户端是否装了07office呢,可能是excel驱动程序不对
3分
这一句,在本机运行的时候会显示出来,但是放到服务器上,在客户端访问就不显示了

4楼给了你答案。

你想在客户端直接打开服务器端的Excel吗?那是做梦,春秋牌的。

要是想通过客户端访问触发服务器端Excel的生成,那涉及到一些权限的设置。自己google去,有解决方案。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#.NET 导出Excel时,本机运行会弹出汇出数据的Excel文件,客户端访问不报错,不弹出
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!