![](/img/trans.png)
[英]Excel to DataTable? Without using Microsoft.Office.Interop.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 可以:
尝试此线程上的提示: https://stackoverflow.com/questions/769246/xls-to-pdf-conversion-inside-net -- Aspose 或打开办公室
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.