エクセルファイルを作成するプログラムでは、MS Officeを持たないユーザーに、LibreOfficeのみがインストールされた.xlsファイルを作成する機会を与えることができるのだろうかと思います。私は "Excel = Microsoft.office.interlope.excel;を使用する"の代わりに何を使用すべきですか?残りのコマンドは? TnX!C#でMS Office Excelと同じようにLibreOfficeスプレッドシートを作成/読み込む方法はありますか?
4
A
答えて
4
LibreOfficeはODF(Open Document Format)を使用します。 ODFは基本的にすべてがODFファイルと呼ばれる1つのファイルに圧縮されたXMLファイルのコレクションなので、把握するのは難しい形式ではありません。 ODFファイルを読み込んで保存する方法については、read hereを参照してください。また、あなたはcheck here for a real example in C#あなたはLibreOfficeのは、cli_basetypes.dll、cli_cppuhelper.dll、cli_oootypes.dll、cli_uno.dll、cli_ure.dllを探して、あなたのプロジェクトへの参照を追加cli_uretypes.dllインストールした場合は
-1
、それがために働かなければならないことができますまた、「Office、Officeの完全インストールなしでACE.OLEDB.12.O接続を取得するために」「Microsoft Office互換機能パック(Word、Excel、およびPowerPointのファイル形式)」および「Microsoft Accessデータベースエンジン2010再配布可能ファイル」もインストールしました。これはVBサンプルの一部で、いくつかのクエリを作成するために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. MS OfficeはExcelシートを読み込んでSQL Serverテーブルに読み込む必要がありますか?
- 2. Excelシートからデータを読み込んで同じExcelシートに書き込む
- 3. ファイルUTF simbolsをUTFコードと同じように読み込む方法は?
- 4. Excelスプレッドシートを読み込むOracleクエリを表示するにはどうすればよいですか?
- 5. Excelのスプレッドシートのようなファイルからiphoneアプリを読み込むことはできますか?
- 6. ColdFusionでMS Excel 2007のクエリを読み込むには?
- 7. コンソールアプリケーションからExcel(Office 365)データを読み込む
- 8. mysqldumpsをより速く読み込む方法はありますか?
- 9. Googleのスプレッドシートでアンドロイドのデータを読み込む方法は?
- 10. UmbracoのAdminカスタムグリッドエディタでデータを読み込むときに待機メッセージを表示する方法や画像を読み込む方法はありますか?
- 11. Symfonyの同じページでレスポンスを読み込む方法
- 12. C#アプリケーションにMS Office Smooth Typingを統合する方法はありますか?
- 13. PythonはExcelスプレッドシートを読み込み、変数と条件に従って複数のリストを作成します
- 14. C#winformsでMS Wordのテーブルを読み込むには?
- 15. 同じディレクトリのファイルからどのように読み込むのですか?
- 16. スプレッドシートから特定のシートを読み込む方法
- 17. 複数のプロセスで同時に同じファイルを読み込む方法は、読み込み速度が遅くなりますか?
- 18. 同じストリームから複数回Cを読み込む#
- 19. 同じファイルを読み書きするためにfopen "w +"をcで使う方法はありますか?
- 20. objective-c excelのデータを読み込む
- 21. ファイルパスの一部の文字を無視してcsvファイルを読み込む方法やExcelブックを読み込む方法はありますか?
- 22. コール/イベントでルートタグにAngular2アプリを読み込む方法はありますか?
- 23. Excelスプレッドシートからデータを読み込んでMySQLデータベースに格納する方法
- 24. フラッシュに読み込むページでxmlの読み込みがありますか?
- 25. 同じファイルを2回連続して読み込む方法
- 26. MS SQLサーバーにトリガーを書き込むのは、MS Accessに書き込むのと同じですか?
- 27. 同じドメインにある2つのiframeに同じセッションを読み込む
- 28. Visual Studioでは、デバッグセッショントリガビルドと同じようにインクリメンタルビルドを作成する方法はありますか?
- 29. C#でDataGridViewを任意のドキュメント(MS Excel以外)にエクスポートするより良い方法はありますか?
- 30. xibビューをviewControllerに高速に読み込む方法はありますか?
ので、一般的に.odsファイルのファイルを操作することが容易であり、一部のユーザーは.XLSでそれを必要とする場合には、単にアプリケーション内の「.XLSに.odsファイルを変換」ボタンがありますか? – Karapapas
@chris - はい、簡単です。 Excel 2007とExcel 2010で開いているドキュメントファイルを読み取ることができるとは思いますが、わかりません。 – Icemanind