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

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

我的问题是,我只有一个试用版的微软办公室,因为我从来没有实际使用它。 那么我可以打开它的时间限制,因为我已经足够的时间运行程序进行debugging,现在我不能继续在这个应用程序的开发。 有没有Visual Studio的开发工具包,提供我需要这个function的API,而没有安装Office? 我不需要Microsoft Office,所以我不想为了开发和testing应用程序而购买完整版本。

我已经看过这样的一些选项,但有非常具体的格式,需要保持完整的.xls转换为.pdf,似乎不工作,如果我使用中间格式。

我也读了一些关于openOffice的API,但与.Net兼容吗? 如果是这样,有人可以指向我的教程,解释如何使用.Net的API? 特别是VB如果可能的话,但我可以使用C#代码。

这里是我正在尝试做的一个样本,以防万一它有助于build议:

  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主互操作程序集程序包。 你可以在这里find它

不过要小心。 不同的办公室版本有不同的软件包。

您提到的问题意味着一个误解 – Microsoft.Office.Interop.Excel程序集不包含处理代码。 它本质上是一个元数据汇编,告诉.NET如何与Excel交谈。 试图在没有安装Excel的情况下进行任何处理是没有用的。

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

试试这个线程的技巧: https ://stackoverflow.com/questions/769246/xls-to-pdf-conversion-inside-net – Aspose或开放式办公室

尝试Codeplex 。 它可以帮助你。

NPOI可以:

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