1

如何使用 OpenOffice API 将 HTML 文本放入 OpenOffice 电子表格

我找到了 ODT-Textdocuments 的解决方案.. (但没有针对 SpreadsheetDocment)

  1. 在我们想要放置 HTML 文本的地方加载 odt 文档。
  2. 转到要放置 HTML 文本的位置。
  3. 将 HTML 文本保存在系统的临时文件中(也许可以不使用 http URL 保存,但我没有测试它)。
  4. 按照此说明将 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();

和我

4

0 回答 0