C# WinForm程序只能在本机运行???
如题。写了一个小程序,在自己的电脑上直接把.\bin\Release文件夹中.exe文件拷贝到桌面上,运行没有问题。但在别人的电脑上却运行不了(我已经在别人电脑上安装了....
如题。写了一个小程序,在自己的电脑上直接把.\bin\Release文件夹中.exe文件拷贝到桌面上,运行没有问题。但在别人的电脑上却运行不了(我已经在别人电脑上安装了.Net Framework 4.0),而且没有任何报错信息。求解?
PS: 程序的功能是读取Excel表格,然后使用reportViewer展示数据。
PS : 1.运行不了意思是“双击后,没有弹出WinForm界面”。
2.我添加了引用“Microsoft.Office.Interop.Excel 1.6.0.0” 。我要怎么做才能兼容所有的office? 展开
PS: 程序的功能是读取Excel表格,然后使用reportViewer展示数据。
PS : 1.运行不了意思是“双击后,没有弹出WinForm界面”。
2.我添加了引用“Microsoft.Office.Interop.Excel 1.6.0.0” 。我要怎么做才能兼容所有的office? 展开
10个回答
展开全部
你得把你的程序打包成安装程序,再在别人的电脑上安装才能用。你.\bin\Release文件夹中.exe文件需要访问你的程序文件的,直接运行这个是可能不成功的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主你好,根据你不可能要求客户安装特定版本的office的追问,我建议如下
使用开源类库npoi操作excel,有这个类库不需要安装office。目前已经支持03和07版了。
你的程序里面可以有各个版本的模块,你可以检测到客户机有哪个版本,然后调用你相应的模块。
更多追问追答
追问
1.npol 貌似不能读 docx 和 xlsx 这种高版本的的文件吧。现在可以了???
2. 初学 C# ,看不太懂第二条,“程序里面可以有各个版本的模块”具体是指什么,能详细讲讲吗?
追答
是可以的,你上网看看。
就是说你在你的程序里面针对不同的excel版本写不同的程序,然后可以自动检测到对方安装了哪一个版本。实际上不同版本的只是引用的类库不同而已,你的代码改动量应该比较小。
最后对于office 2007以上的终极解决办法:excel文件扩展名改成zip以后解压可以用xml或者文本的方法都到里面的内容。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运行不了是指读EXCEL时展示不出数据还是执行应用程序时没有任何反应连FORM界面都看不到?
如果是读数据时有问题建议把别人的读的那个文件拿过来在你自己机子读一下试试。
如果是读数据时有问题建议把别人的读的那个文件拿过来在你自己机子读一下试试。
追问
双击后,看不到WinFrom界面 。
追答
连WINFORM界面都不弹的话,我恐怕你认为是OFFICE的问题导致的思路错了。
你随便做个测试程序过去,只有个按钮,点击后提示TEST。试试在他的机子上能不能运行?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问是软件弹出一会就消失了还是出现了windows错误报告;
如果是读取excle,在不装office的电脑也可以运行的。
如果是读取excle,在不装office的电脑也可以运行的。
追问
双击后,没有弹出Winform界面,也没有弹出错误信息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Office没有装的缘故吧。
追问
我安装了Office 2007,对方安装了Office 2010。
追答
所以你程序用的与Office有关的dll不匹配Office 2010的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询