4. 将Excel表格嵌入Word文档
Excel表格填充完成后,我们将这个表格嵌入到Word文档中。在主函数Main()的末尾添加如下代码,它将创建一个空的Word文档,然后通过调用函数PasteSpecial(),将Excel表格以链接的形式粘贴到Woed文档中:
var word = new Word.Application(); word.Visible = true; word.Documents.Add(); word.Selection.PasteSpecial(Link: true, DisplayAsIcon: true);
这里需要说明的是,PasteSpecial()函数实际上有7个参数,这些参数都是可选的。如果是在C# 3.0中,我们必须全部给定这7个参数,不管这些参数是否真正需要。在C# 3.0中,PasteSpecial()函数的调用应该是这个样子:
// C# 3.0 code. Not necessary in C# 4.0! object iconIndex = System.Reflection.Missing.Value; object link = true; object placement = System.Reflection.Missing.Value; object displayAsIcon = true; object dataType = System.Reflection.Missing.Value; object iconFileName = System.Reflection.Missing.Value; object iconLabel = System.Reflection.Missing.Value; word.Selection.PasteSpecial(ref iconIndex, ref link, ref placement, ref displayAsIcon, ref dataType, ref iconFileName, ref iconLabel);
而在C# 4.0中,因为它支持了可选参数,使得原来需要15行代码才能完成的工作,现在只需要一行代码。大象减肥了!
5. 运行解决方案
到此为止,我们就完成了所有的开发工作,按下F5,运行整个解决方案,我们应该可以看到如下的运行结果:

图3 运行结果
6. No-PIA部署
开发完成后,最后的任务就是将应用程序部署到目标机器上。在以前的Office开发中,我们除了需要在目标机器上部署我们的应用程序之外,还需要部署一大堆应用程序运行必需的互操作程序集,这使得Office应用开发起来困难,想用起来也不简单。
为了让大家理解Office应用程序对Office互操作程序集的依赖,我们可以使用IL DASM工具查看应用程序所引用的程序集。通过在Visual Studio命令行工具(Visual Studio command prompt)中执行ildasm命令,我们可以运行IL DASM工具,然后打开我们刚刚开发的应用程序OfficeDev.exe,可以看到如下的界面:

图4 使用IL DASM查看应用程序
双击其中的“Manifest”,我们可以在弹出的窗口中看到应用程序对Microsoft.Office.Interop.Excel和Microsoft.Office.Interop.Word的引用:
出处:蓝色理想
责任编辑:bluehearts
上一页 Visual Studio 2010特性支持Office [3] 下一页 Visual Studio 2010特性支持Office [5]
◎进入论坛计算机技术版块参加讨论
|