OpenOffice.org使用Java导入csv

时间:2009-01-03 15:10:29

标签: java csv import openoffice.org

如何使用OpenOffice.org API导入CSV文件?我想使用与使用“CVS文本”过滤器打开相同文件时提供的相同功能来执行此操作。

2 个答案:

答案 0 :(得分:1)

以下是使用OO.org宏语言的解决方案,但它应该是一个很好的起点:http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=12835

答案 1 :(得分:1)

这是真正有效的解决方案:

XComponentContext xLocalContext = Bootstrap.bootstrap();
XMultiComponentFactory xLocalServiceManager = xLocalContext.getServiceManager();
Object desktop = xLocalServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", xLocalContext);
XComponentLoader xComponentLoader = (XComponentLoader) UnoRuntime.queryInterface(XComponentLoader.class, desktop);
PropertyValue[] mypv = new PropertyValue[3];
mypv[0] = new PropertyValue();
mypv[0].Name = new String("FilterName");
mypv[0].Value = new String("Text - txt - csv (StarCalc)");
mypv[1] = new PropertyValue();
mypv[1].Name = "Hidden";
mypv[1].Value = new Boolean(false);
mypv[1] = new PropertyValue();
mypv[1].Name = "CharacterSet";
mypv[1].Value = "UTF-8";
mypv[2] = new PropertyValue();
mypv[2].Name = "FilterOptions";
mypv[2].Value = "59,34,0,1,1/1/2/1/3/5";
String internalFile = ExternalUriReferenceTranslator.create(xLocalContext).translateToInternal("file://" + csvFile.getAbsolutePath());
XComponent comp = xComponentLoader.loadComponentFromURL(internalFile, "_parent", 0, mypv);