繁体   English   中英

使用 Microsoft.Office.Interop.Excel 而实际上没有 Excel?

[英]Using Microsoft.Office.Interop.Excel without actually having Excel?

我在 VB.Net 中使用Microsoft.Office.Interop.Excel以将.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()

如上所述,您的问题意味着误解- Microsoft.Office.Interop.Excel 程序集不包含处理代码。 它本质上是一个元数据程序集,它告诉 .NET 如何与 Excel 对话。 在没有安装 Excel 的情况下尝试进行任何处理是没有用的。

有相当多的免费库可以创建和操作 Excel 文件 - 您指向的 Stackoverflow 问题有一些,其他在 CodePlex 上。 如果您需要对具有特殊格式要求的工作表进行计算或渲染,您最好调查获得 Excel 许可证或迁移到不同架构的最低价格选项。

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

但小心点。 不同的办公版本有不同的软件包。

尝试Codeplex 它可能会帮助你。

NPOI 可以:

  1. 在您的服务器上未安装 Microsoft Office 套件的情况下生成 Excel 报告,并且比在后台调用 Microsoft Excel ActiveX 更有效;
  2. 从 Office 文档中提取文本以帮助您实现全文索引功能(大部分时间此功能用于创建搜索引擎)。
  3. 从 Office 文档中提取图像
  4. 生成包含公式的 Excel 工作表

尝试此线程上的提示: https://stackoverflow.com/questions/769246/xls-to-pdf-conversion-inside-net -- Aspose 或打开办公室

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM