在創建excel文件的程序中,我想知道是否可以讓沒有MS Office的用戶創建僅安裝了LibreOffice的.xls文件。我應該用什麼來代替「使用Excel = Microsoft.office.interlope.excel;」和其餘的命令? TNX!有沒有辦法像使用C#的MS Office Excel一樣創建/讀取LibreOffice電子表格?
4
A
回答
4
LibreOffice使用ODF(開放文檔格式)。 ODF不是一種難以掌握的格式,因爲它基本上是將XML文件集合成一個文件,稱爲ODF文件。您可以通過read here瞭解如何讀取和保存ODF文件。此外,您還可以check here for a real example in C#
-1
如果已安裝的LibreOffice尋找cli_basetypes.dll,cli_cppuhelper.dll,cli_oootypes.dll,cli_uno.dll,cli_ure.dll,cli_uretypes.dll然後添加引用到您的項目,它必須努力您還安裝了「用於Word,Excel和PowerPoint文件格式的Microsoft Office兼容包」和「Microsoft Access數據庫引擎2010可再發行組件」(無需完整的Office安裝即可獲取ACE.OLEDB.12.O連接)。這是VB Sample的一部分,其中我連接到oledb以創建一些查詢。
OpenFileDialog.Filter = "Spreadsheets (*.xls*)|*.xls*"
OpenFileDialog.Multiselect = False
Try
If (OpenFileDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK) Then
objOffice = CreateObject("com.sun.star.ServiceManager") 'preparar instancia libreOffice (prepare libreOffice instance)
instOffice = objOffice.createInstance("com.sun.star.frame.Desktop")
Dim obj(-1) As Object
Dim myDoc = instOffice.loadComponentFromURL("file:///" & OpenFileDialog.FileName.Replace("\", "/"), "_default", 0, obj)
Dim hojas = myDoc.getSheets().getElementNames() 'Obtener nombres de las hojas de calculo (get Spreadsheet names)
System.Threading.Thread.Sleep(1000) 'Esperar a que termine la instancia Office (await libreOffice thread)
myDoc.Close(True)
Dim MyConnection As System.Data.OleDb.OleDbConnection 'Preparar conexión para realizar consulta tipo sql (preparing connection)
Dim DtSet As System.Data.DataSet
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
If OpenFileDialog.FileName.ToUpper.Contains(".XLSX") Then
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & OpenFileDialog.FileName & "';Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1;'")
Else
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & OpenFileDialog.FileName & "';Extended Properties='Excel 12.0;HDR=YES;IMEX=1'")
End If
相關問題
- 1. 有沒有辦法在另一個Excel電子表格中嵌套Excel電子表格?
- 2. 有沒有辦法像使用HTML5和CSS一樣創建多級列表?
- 3. C# - 未註冊的類 - 使用VBIDE創建帶有宏的Excel電子表格
- 4. 有沒有辦法像RDF三元組一樣讀取Hibernate Session?
- 5. 有沒有辦法爲Google表單創建腳本來檢查電子表格?
- 6. 創建沒有MS Office的PDF文件
- 7. 使用objective-c爲iOS應用程序創建MS Excel類型電子表格
- 8. 用PHP創建Excel電子表格
- 9. 有沒有辦法像在COCOS 2D中一樣從AndEngine創建AnimateSprite表單?
- 10. 有沒有辦法像%w一樣創建符號的數組像字符串?
- 11. 將Excel電子表格導入現有的MS Access表格
- 12. 有沒有辦法創建一個像這樣的用戶定義函數
- 13. 有沒有辦法像CAM一樣使用IN的查詢?
- 14. 使用c#創建excel XML電子表格的步驟#
- 15. 有沒有預先存在的使用c#與Excel Interops模板excel像jXLS一樣的解決辦法?
- 16. 使用C#從Excel電子表格讀取/寫入#
- 17. 有沒有什麼辦法用C#讀取PDF中表格的特定列
- 18. 使用Microsoft Office Interop來創建和解析來自ASP.NET的Excel電子表格
- 19. C#有沒有辦法在Excel工作表中獲取表格對象
- 20. 無法使用ColdFusion創建適當的Excel電子表格
- 21. C#有沒有辦法像構造函數一樣使用方法
- 22. 有沒有辦法創建一個不可變(只讀)的XDocument?
- 23. 如何創建像電子表格一樣的可編輯GridView?
- 24. 有沒有辦法讓稍後讀取的電子郵件被同一設備上的應用讀取?
- 25. 有沒有辦法在PHP中創建.doc文件,就像使用TCPDF創建pdf一樣?
- 26. 有沒有辦法使用c#和MS Access刪除表中的所有行?
- 27. 有沒有辦法在C#中使用泛型創建聲明?
- 28. 使用Perl讀取數據表格Excel電子表格時讀取錯誤
- 29. 從電子表格數據創建文檔時,有沒有辦法保持單元格格式?
- 30. 如何使用CodeIgniter從HTML表格創建Excel電子表格
因此,它是通常更容易操縱的.ods文件,只是有一個「轉換的.ods爲.xls」的情況下,在你的應用程序按鈕一些用戶需要它以.xls? – Karapapas
@chris - 是的,無論哪個更容易。我相信Excel 2007和Excel 2010可以讀取打開的文檔文件,但我不確定。 – Icemanind