我在用着Microsoft.Office.Interop.Excel
在 VB.Net 中,以便将 .xls 文件导出为 .pdf 文件。这是我能找到的唯一方法,无需依赖在运行的计算机上安装第三方软件或使用昂贵的 Visual Studio 附加组件。该方法需要通过代码打开excel并保存文件。
我的问题是我只有 Microsoft Office 的试用版,因为我从未真正使用过它。嗯,我可以打开它的次数限制已经达到,因为我已经运行该程序足够多次用于调试目的,现在我无法继续开发该应用程序。是否有 Visual Studio 的开发工具包可以提供此功能所需的 API,而无需实际安装 Office?我不需要 Microsoft Office,因此我不想仅仅为了开发和测试应用程序而购买完整版本。
我看过一些选项,比如this,但是 .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 许可证的选项,或者迁移到不同的体系结构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)