我的第一个 java 操作Openoffice 写spreadsheet文件
(2011-03-15 17:09:19)
标签:
杂谈 |
分类: 开发经验总结 |
我的第一个 java 操作Openoffice 写spreadsheet文件
for more detail access
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Spreadsheet/Handling_Spreadsheet_Documents_Files
import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.XEnumeration;
import com.sun.star.container.XEnumerationAccess;
import com.sun.star.frame.XComponentLoader;
import com.sun.star.frame.XController;
import com.sun.star.frame.XModel;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XMultiComponentFactory;
import com.sun.star.sheet.XCellAddressable;
import com.sun.star.sheet.XCellRangesQuery;
import com.sun.star.sheet.XSheetCellRanges;
import com.sun.star.sheet.XSpreadsheet;
import com.sun.star.sheet.XSpreadsheetDocument;
import com.sun.star.sheet.XSpreadsheetView;
import com.sun.star.sheet.XSpreadsheets;
import com.sun.star.table.XCell;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
public class ConnOpenOffice {
public
static void main(String[] args) {
try {
String oooExecFolder = "C:/Program
Files/OpenOffice.org 3/program/";
XComponentContext xRemoteContext =
com.sun.star.comp.helper.Bootstrap
.bootstrap();
System.out.println("Connected to a running office
...");
XMultiComponentFactory xRemoteServiceManager =
xRemoteContext
.getServiceManager();
Object desktop =
xRemoteServiceManager.createInstanceWithContext(
"com.sun.star.frame.Desktop",
xRemoteContext);
XComponentLoader xComponentLoader =
(XComponentLoader) UnoRuntime
.queryInterface(XComponentLoader.class,
desktop);
PropertyValue[] loadProps = new
PropertyValue[0];
XComponent xSpreadsheetComponent =
xComponentLoader
.loadComponentFromURL("private:factory/scalc",
"_blank", 0,
loadProps);
XSpreadsheetDocument xSpreadsheetDocument =
(XSpreadsheetDocument) UnoRuntime
.queryInterface(XSpreadsheetDocument.class,
xSpreadsheetComponent);
XSpreadsheets xSpreadsheets =
xSpreadsheetDocument.getSheets();
xSpreadsheets.insertNewByName("MySheet", (short)
0);
for more detail access
import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.XEnumeration;
import com.sun.star.container.XEnumerationAccess;
import com.sun.star.frame.XComponentLoader;
import com.sun.star.frame.XController;
import com.sun.star.frame.XModel;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XMultiComponentFactory;
import com.sun.star.sheet.XCellAddressable;
import com.sun.star.sheet.XCellRangesQuery;
import com.sun.star.sheet.XSheetCellRanges;
import com.sun.star.sheet.XSpreadsheet;
import com.sun.star.sheet.XSpreadsheetDocument;
import com.sun.star.sheet.XSpreadsheetView;
import com.sun.star.sheet.XSpreadsheets;
import com.sun.star.table.XCell;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
public class ConnOpenOffice {