如何在不使用excel com库的情况下将宏插入excel文件

时间:2010-08-30 09:51:39

标签: vb.net excel com-interop npoi

有没有办法在不使用excel库的情况下将现有宏插入现有的excel文件? 我需要这个来设置excel来打印整本工作簿。我不能使用excel库,因为它将在无法安装excel的服务器中在线完成。 但是,我可以使用c#.net编码。 我正在使用NPOI来生成excel。

下面给出了宏

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If printed = False Then
Cancel = True
printed = True
ActiveWorkbook.PrintOut
End If
End Sub

1 个答案:

答案 0 :(得分:0)

另一种方法是将excel文件转换为pdf,然后打印pdf。有一个转换库,似乎有一个良好的声誉:

http://www.aspose.com/

操纵excel的唯一其他方法是使用OLEDB或ACE提供程序,但据我所知,它们不提供宏访问。

如果您能够引用Excel dll,这是一篇描述如何注入宏的MSDN文章:

http://support.microsoft.com/kb/303871