1、准备开发环境
VS2005
Office 2003
Microsoft Office 2003 Interop 組件。
Visual Studio 2005 Tools for Office
一般情况下,Office 安装的先后没有关系
VS2005 Team 版的带了Visual Studio 2005 Tools for Office ,但professional版本的需要自行安装
2、编写程序
我使用的是C#,基本上感觉很方便,但需要注意以下几点:
1)与 Excel COM Interop Libraries 的区别
选择区域时,VSTO Globals.Sheet1.Cells[row, index] as Excel.Range
但 Excel COM 正好相反
2)需要注意写入Excel时的效率
如果数据量比较大,最好不要逐个单元格写入,而应该使用数组写入方式:
object[,] objData = new Object[maxRowCountData, maxColumnCountData];
for (int i = 1; i < data.Length - 1; i++)
//给objData 赋值
Excel.Range CurRange = GetRange(x1, y1, x2, y2);//选择要写入的区域
CurRange.Value2 = objData;
3)不要使用VSOT提供的方法新建Worksheet
Excel.Worksheet newWorksheet;
newWorksheet = (Excel.Worksheet)Globals.ThisWorkbook.Worksheets.Add(
missing, missing, missing, missing);
因为该方法生成的实例和VS2005生成的实例类型不同
具体原因参考后面的参考文章
3、部署VSTO程序
客户机需要的条件:
Microsoft .NET Framework 2.0 版
Office 2003
Microsoft Office 2003 Interop
其中Microsoft .NET Framework 2.0 的安装检测不用细说,关键就是Visual Studio 2005 Tools for Office Runtime的检测
目前最好的解决办法就是,自定义系统必备组件,具体细节可以查看后面的参考文章,
我已经做好的该系统必备组件也可从这里下载:(密码"vsto" )
https://files.cnblogs.com/sunrack/packages.rar
下载后,放到
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages
然后就可以在安装部署项目中选择该系统必备组件了
一下是安装时检测到没有安装Visual Studio 2005 Tools for Office Runtime时的截图