实际运行环境中安装了两个版本office(2003和2010)
调用Microsoft.Office.Interop.Application.Workbooks.Open打开excel文件时,实际使用的是2003打开,但是手动双击文件,是2010打开。
Microsoft.Office.Interop.Excel 版本:15.0.4420.1017。
如果要指定2010打开excel文件,需要修改传入参数?
如果是新项目,尽量不用office com组件操作word.可以使用DocX和Aspose.Words(收费),这两个组件都不依赖office. DocX要.net 4.0才可以用.使用office com在操作word要先创建word进程,可能会遇到奇怪的你又没办法的问题.
用office com组件确实容易出很多问题,建议你可以用第三方免费版组件Free Spire.XLS, 它支持03也支持10版本,不依赖Excel
http://e-iceblue.cn/Introduce/Free-Spire-XLS-NET.html
指定打开版本:
Workbook workbook = new Workbook(); workbook.LoadFromFile("D:\\sample1.xlsx"); workbook.Version = ExcelVersion.Version2010;