![](/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.