Я нашел это, Использование COM из Java. Вы должны иметь возможность использовать машину microsoft vitrual и microsoft sdk для java 4.0 для использования сервера автоматизации, встроенного в Excel («Excel.Application»).
Если вы не хотите использовать виртуальную машину Microsoft и SDK для компиляции и запуска кода, есть также: JACOB: мост JAva-COM , который можно запуститьс любой виртуальной машины.
Получено непосредственно с указанной выше JACOB-страницы:
В следующем примере Microsoft® Excel используется в качестве сервера автоматизации:
import com.ms.com.*;
import com.ms.activeX.*;
public class DispatchTest
{
public static void main(String[] args)
{
ActiveXComponent xl = new ActiveXComponent("Excel.Application");
Object xlo = xl.getObject();
try {
System.out.println("version="+xl.getProperty("Version"));
System.out.println("version="+Dispatch.get(xlo, "Version"));
xl.setProperty("Visible", new Variant(true));
Object workbooks = xl.getProperty("Workbooks").toDispatch();
Object workbook = Dispatch.get(workbooks,"Add").toDispatch();
Object sheet = Dispatch.get(workbook,"ActiveSheet").toDispatch();
Object a1 = Dispatch.invoke(sheet, "Range", Dispatch.Get,
new Object[] {"A1"},
new int[1]).toDispatch();
Object a2 = Dispatch.invoke(sheet, "Range", Dispatch.Get,
new Object[] {"A2"},
new int[1]).toDispatch();
Dispatch.put(a1, "Value", "123.456");
Dispatch.put(a2, "Formula", "=A1*2");
System.out.println("a1 from excel:"+Dispatch.get(a1, "Value"));
System.out.println("a2 from excel:"+Dispatch.get(a2, "Value"));
Variant f = new Variant(false);
Dispatch.call(workbook, "Close", f);
} catch (Exception e) {
e.printStackTrace();
} finally {
xl.invoke("Quit", new Variant[] {});
}
}
}
В его нынешнем виде,код будет компилироваться только с JVC (компилятор Microsoft) и работать только под JVIEW (виртуальная машина Microsoft).Однако, если у вас установлен дистрибутив JACOB, вы можете заменить две верхние строки на:
import com.jacob.com.*;
import com.jacob.activeX.*;
, и теперь вы можете скомпилировать это с любым компилятором Java и запустить его, используя любую виртуальную машину Java на любом Win32.Платформа.