【发布时间】:2011-08-16 06:57:15
【问题描述】:
我在 VB.Net 中使用Microsoft.Office.Interop.Excel 以便将 .xls 文件导出为 .pdf 文件。这是我能找到的唯一方法,无需依赖在运行的机器上安装第三方软件或使用昂贵的 Visual Studio 插件。此方法需要通过代码打开excel并保存文件。
我的问题是我只有 Microsoft Office 的试用版,因为我从未真正使用过它。好吧,我可以打开它的时间限制已经结束,因为我已经运行了足够多的程序来进行调试,现在我不能继续开发这个应用程序了。是否有适用于 Visual Studio 的开发工具包提供我需要的 API 来实现此功能,而无需实际安装 Office?我不需要 Microsoft Office,所以我不想为了开发和测试应用程序而购买完整版。
我查看了一些选项,例如 this,但有一些非常具体的格式需要在 .xls 中保持完整才能转换为 .pdf,如果我使用中间格式,这似乎不起作用。
我还阅读了一些关于 openOffice API 的信息,但它与 .Net 兼容吗?如果是这样,有人可以向我指出一个解释如何将 API 与 .Net 一起使用的教程吗?如果可能,特别是 VB,但我可以使用 C# 代码。
这是我正在尝试做的一个示例,以防它对建议有所帮助:
Dim fileName As String = AppDomain.CurrentDomain.BaseDirectory & "LOA " & compName.Text & ".xls"
Dim xlsApp = New Microsoft.Office.Interop.Excel.Application
xlsApp.ScreenUpdating = False
Dim xlsBook As Microsoft.Office.Interop.Excel.Workbook
Dim paramExportFormat As XlFixedFormatType = XlFixedFormatType.xlTypePDF
Dim paramExportQuality As XlFixedFormatQuality = XlFixedFormatQuality.xlQualityStandard
Dim paramOpenAfterPublish As Boolean = False
Dim paramIncludeDocProps As Boolean = True
Dim paramIgnorePrintAreas As Boolean = True
Dim paramFromPage As Object = Type.Missing
Dim paramToPage As Object = Type.Missing
xlsBook = xlsApp.Workbooks.Open(fileName, UpdateLinks:=False, ReadOnly:=False)
xlsBook.ExportAsFixedFormat(paramExportFormat, AppDomain.CurrentDomain.BaseDirectory & "LOA " & compName.Text & ".pdf", paramExportQuality, paramIncludeDocProps, paramIgnorePrintAreas, paramFromPage, paramToPage, paramOpenAfterPublish)
xlsBook.Close(SaveChanges:=False)
xlsApp.Quit()
【问题讨论】: