不安装Office软件c#如何操作Word或Excel等文件

Roock 2012-05-07 02:40:18
如题,我的程序中需要对Word或Excel等Office文件进行操作,但是用户机器没有安装Office或者安装了其它的替代软件,如WPS Office。这时我应该怎么办?

以下是我的想法,如果各位高手有更好的办法麻烦教教我。谢谢啦!
问题1:能不能把Office的相关组件封装到我的程序中,然后在用户机器上进行注册使用?
问题2:如果上面的方法可行,那C#程序调用时需要那些组件呢?
问题3:如何判断用户有没有安装Office?

下面是部分代码:

Microsoft.Office.Interop.Excel.Application app = null;
Microsoft.Office.Interop.Excel.Workbook book = null;
Microsoft.Office.Interop.Excel.Worksheet sheet = null;
Microsoft.Office.Interop.Excel.Workbooks books = null;
try
{
System.IO.File.WriteAllBytes(filename, template);
app = new Microsoft.Office.Interop.Excel.Application();
app.DisplayAlerts = false;
books = app.Workbooks;
book = app.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

var enm = book.Sheets.GetEnumerator();
enm.MoveNext();
sheet = (Microsoft.Office.Interop.Excel.Worksheet)(enm.Current);
...全文
3741 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xistrue 2014-02-22
  • 打赏
  • 举报
回复

o2007pia.msi 安装这个试试
xistrue 2014-02-22
  • 打赏
  • 举报
回复
o2007pia.msi
天罡gg 2012-07-12
  • 打赏
  • 举报
回复
我前段时间也遇到这个问题,什么都不安装应该是不行,office那么大,那那么容易静默安装了。
一般和客户说一下,客户都会装一下的
注册类似这样
开始-运行
"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" /regserver
crackdung 2012-05-12
  • 打赏
  • 举报
回复
AutoVue 20.2

看這裡
nikolaichow 2012-05-12
  • 打赏
  • 举报
回复
NPOI
天罡gg 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
有那些类呀?
是不是把Microsoft.Office.Interop.Word.dll和Microsoft.Office.Interop.Excel.dll拷贝到我程序的目录就可以呀?
[/Quote]

是的
facelessvoidhj 2012-05-09
  • 打赏
  • 举报
回复
Microsoft.Office.Interop.Excel.dll最好不要用,对环境要求太高了,有些项目还需要配置什么DCOM之类的东西,麻烦的要死
facelessvoidhj 2012-05-09
  • 打赏
  • 举报
回复
NPOI很好用,支持,不需要安装环境
cjh200102 2012-05-09
  • 打赏
  • 举报
回复
可以的,就像水晶报表,你直接把那个复制到程序里,用户机器就不需要安装
Roock 2012-05-09
  • 打赏
  • 举报
回复
有那些类呀?
是不是把Microsoft.Office.Interop.Word.dll和Microsoft.Office.Interop.Excel.dll拷贝到我程序的目录就可以呀?
tianxs2012 2012-05-08
  • 打赏
  • 举报
回复
有类的,不用那么麻烦的,但需要状AccessDatabaseEngine这个东西
crackdung 2012-05-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

要收费的吧?
还有没有别的解决方法呢?
[/Quote]

找一破解版,就完事了
csrwgs 2012-05-08
  • 打赏
  • 举报
回复
1. WPS Office和微软的调用几乎一样。可以做成通用的
2. 静默安装上去,^_^
Roock 2012-05-08
  • 打赏
  • 举报
回复
要收费的吧?
还有没有别的解决方法呢?
crackdung 2012-05-07
  • 打赏
  • 举报
回复
OfficeWriter 8.1

或 AutoVue 20.2

my blog
shiyuyao1987 2012-05-07
  • 打赏
  • 举报
回复
Google NPOI
Roock 2012-05-07
  • 打赏
  • 举报
回复
能说得详细点吗?谢谢啦!
亚丁号 2012-05-07
  • 打赏
  • 举报
回复
RTF?
熙风 2012-05-07
  • 打赏
  • 举报
回复
可以的,,像Access,用户机子上面没有Access,但是放一个access在bebug里面还是可以的,,,

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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