使用Microsoft.Office.Interop.Excel而不实际拥有Excel?

MaQ*_*eod 5 vb.net pdf excel

Microsoft.Office.Interop.Excel在VB.Net中使用以将.xls文件导出为.pdf文件.这是我唯一能够找到的方法,而不依赖于在运行的计算机上安装第三方软件或使用昂贵的Visual Studio附件.此方法需要打开excel并通过代码保存文件.

我的问题是我只有Microsoft Office的试用版,因为我从未真正使用它.好吧,我可以打开它的时间限制,因为我已经运行程序足够的时间用于调试目的,现在我无法继续开发此应用程序.是否有针对Visual Studio的开发工具包,它提供了此功能所需的API,而无需实际安装Office?我不需要Microsoft Office,因此我不想购买完整版本来开发和测试应用程序.

我看着像一些选择这种,但需要以.xls为转换为pdf似乎没有,如果我使用一个中间格式合作,以保持完整非常特定的格式.

我还阅读了一些关于openOffice API的内容,但它与.Net兼容吗?如果是这样,有人可以指点我的教程,解释如何使用.Net的API?如果可能的话,特别是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()
Run Code Online (Sandbox Code Playgroud)

e-m*_*mre 1

您可以安装 Microsoft 主互操作程序包。你可以在这里找到它

不过要小心。不同的office版本有不同的软件包。

  • 他要求提供一个不需要安装 Excel 的软件包。下载 PIA 并运行安装程序时,您收到的第一件事是一条消息,提示您需要先安装 Office。 (3认同)
  • @MarkSmith 是完全正确的。我在没有安装 Office 的测试服务器上尝试了此操作,它告诉我同样的事情;你需要办公室。 (2认同)