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

时间:2022-10-05 11:44:15
如题,我的程序中需要对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);

19 个解决方案

#1


可以的,,像Access,用户机子上面没有Access,但是放一个access在bebug里面还是可以的,,,

#2


RTF?

#3


能说得详细点吗?谢谢啦!

#4


Google NPOI

#5


OfficeWriter 8.1

或  AutoVue 20.2

my blog

#6


要收费的吧?
还有没有别的解决方法呢?

#7


1. WPS Office和微软的调用几乎一样。可以做成通用的
2. 静默安装上去,^_^

#8


引用 6 楼  的回复:
要收费的吧?
还有没有别的解决方法呢?


找一破解版,就完事了

#9


有类的,不用那么麻烦的,但需要状AccessDatabaseEngine这个东西

#10


有那些类呀?
是不是把Microsoft.Office.Interop.Word.dll和Microsoft.Office.Interop.Excel.dll拷贝到我程序的目录就可以呀?

#11


可以的,就像水晶报表,你直接把那个复制到程序里,用户机器就不需要安装

#12


NPOI很好用,支持,不需要安装环境

#13


Microsoft.Office.Interop.Excel.dll最好不要用,对环境要求太高了,有些项目还需要配置什么DCOM之类的东西,麻烦的要死

#14


引用 10 楼  的回复:
有那些类呀?
是不是把Microsoft.Office.Interop.Word.dll和Microsoft.Office.Interop.Excel.dll拷贝到我程序的目录就可以呀?


是的

#15


AutoVue 20.2

看這裡

#16


NPOI

#17


我前段时间也遇到这个问题,什么都不安装应该是不行,office那么大,那那么容易静默安装了。
一般和客户说一下,客户都会装一下的
注册类似这样
开始-运行
"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" /regserver 

#18


o2007pia.msi

#19


不安装Office软件c#如何操作Word或Excel等文件
o2007pia.msi   安装这个试试

#1


可以的,,像Access,用户机子上面没有Access,但是放一个access在bebug里面还是可以的,,,

#2


RTF?

#3


能说得详细点吗?谢谢啦!

#4


Google NPOI

#5


OfficeWriter 8.1

或  AutoVue 20.2

my blog

#6


要收费的吧?
还有没有别的解决方法呢?

#7


1. WPS Office和微软的调用几乎一样。可以做成通用的
2. 静默安装上去,^_^

#8


引用 6 楼  的回复:
要收费的吧?
还有没有别的解决方法呢?


找一破解版,就完事了

#9


有类的,不用那么麻烦的,但需要状AccessDatabaseEngine这个东西

#10


有那些类呀?
是不是把Microsoft.Office.Interop.Word.dll和Microsoft.Office.Interop.Excel.dll拷贝到我程序的目录就可以呀?

#11


可以的,就像水晶报表,你直接把那个复制到程序里,用户机器就不需要安装

#12


NPOI很好用,支持,不需要安装环境

#13


Microsoft.Office.Interop.Excel.dll最好不要用,对环境要求太高了,有些项目还需要配置什么DCOM之类的东西,麻烦的要死

#14


引用 10 楼  的回复:
有那些类呀?
是不是把Microsoft.Office.Interop.Word.dll和Microsoft.Office.Interop.Excel.dll拷贝到我程序的目录就可以呀?


是的

#15


AutoVue 20.2

看這裡

#16


NPOI

#17


我前段时间也遇到这个问题,什么都不安装应该是不行,office那么大,那那么容易静默安装了。
一般和客户说一下,客户都会装一下的
注册类似这样
开始-运行
"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" /regserver 

#18


o2007pia.msi

#19


不安装Office软件c#如何操作Word或Excel等文件
o2007pia.msi   安装这个试试

#20