OpenOffice API を使用して HTML テキストを OpenOffice スプレッドシートに配置する方法
私は ODT-Textdocuments の解決策を見つけました.. (ただし、SpreadsheetDocment には何もありません) :
- HTML テキストを配置する場所に odt ドキュメントをロードします。
- HTML テキストを配置する場所に移動します。
- システムの一時ファイルに HTML テキストを保存します (http URL で保存しなくても可能かもしれませんが、テストしていません)。
- この指示に従って HTML を odt に挿入し、URL を一時 HTML ファイルに渡します (システム パスを OO パスに変換することを思い出してください)。
そこでメソッドを使用しました: insertDocumentFromURL.
この方法をスプレッドシートで使用する方法がわかりません..または別の解決策はありますか? 例: cellText.setHtml("....");
??? あなたか誰かが私を助けてくれませんか???
OpenOffice TextDocument の完全なコード例:
IDocumentService documentService = OOConnection.getDocumentService();
IDocument document = documentService.constructNewDocument(IDocument.WRITER, new DocumentDescriptor());
textDocument = (ITextDocument) document;
String htmlText = "<P></P>" + "<P>Paragraph1</P>" + "NOA HTML Insert Test" + "<b>Bold</b>"
+ "<H1>Header 1</H1>" + "<P>Paragraph2</P>" + "<CENTER>Center</CENTER>" + "<TABLE>"
+ "<TR><TD bgcolor=#336699>Cell 1</TD><TD bgcolor=#663399>Cell 2</TD></TR>"
+ "<TR><TD bgcolor=#123456>the third cell</TD><TD bgcolor=#654321>Cell 4</TD></TR>" + "</TABLE>";
textDocument.getTextService().getText().setText(htmlText);
textDocument.getPersistenceService().export(new FileOutputStream("C:/SfH/html.html"), new TextFilter());
XController xController = textDocument.getXTextDocument().getCurrentController();
XTextViewCursorSupplier xTextViewCursorSupplier = (XTextViewCursorSupplier) UnoRuntime.queryInterface(
XTextViewCursorSupplier.class, xController);
XTextViewCursor xViewCursor = xTextViewCursorSupplier.getViewCursor();
XTextCursor xTextCursor = xViewCursor.getText().createTextCursorByRange(xViewCursor.getStart());
XDocumentInsertable xDocumentInsertable = (XDocumentInsertable) UnoRuntime.queryInterface(
XDocumentInsertable.class, xTextCursor);
xDocumentInsertable.insertDocumentFromURL(
URLAdapter.adaptURL(new File("C:/SfH/html.html").getAbsolutePath()), new PropertyValue[0]);
textDocument.update();
そして私