簡體   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