Получение данных из Excel, изменение Excel ячейки, и выполнение команд.

Приведенный ниже пример устанавливает DDE соединение с Microsoft Excel из Java приложения. Затем, выполняет REQUEST запрос для чтения данных из ячейки A1, POKE операцию для изменения данных в ячейке A1, и EXECUTE операцию для закрытия документа.

Пример соединяется с уже запущенным Excel, поэтому запустите Microsoft Excel до выполнения примера и введи в ячейку A1 любое значение.

try
{
    final DDEClientConversation conversation = new DDEClientConversation();

    // Установить диалог с открытым файлом
    conversation.connect("Excel", "Sheet1");
    // Если у вас несколько открытых файлов, то можно указать путь к необходимому файлу
    //conversation.connect("Excel", "C:\\Book2.xlsx");
    // или же можно указать ещё Sheet2
    //conversation.connect("Excel", "C:\\[Book1.xlsx]Sheet2");
    try
    {
        // Запрашиваем значение A1
        System.out.println("A1 value: " + conversation.request("R1C1"));
        // Меняем значение ячейки A1 на "We did it!"
        conversation.poke("R1C1", "We did it!");
        // Заполняем сразу несколько ячеек строки, используя \t в качестве разделителя
        conversation.poke("R4", "Fill\tthe\trow");
        // Заполняем сразу несколько ячеек колонки, используя \n в качестве разделителя
        conversation.poke("C4", "Fill\nthe\ncolumn");
        // Заполняем сразу несколько ячеек матрицей, используя \t и \n в качестве разделителей
        conversation.poke("R5C5:R7C7", "1\t2\t3\n4\t5\t6\n7\t8\t9");
        // Выполнить макрос с именем Macro1
        //conversation.execute("[run(\"Macro1\")]");
        // Послать команду закрытия "close()"
        conversation.execute("[close()]");
    }
    finally
    {
        conversation.disconnect();
    }
}
catch (DDEMLException e)
{
    System.out.println("DDEMLException: 0x" + Integer.toHexString(e.getErrorCode())
                       + " " + e.getMessage());
}
catch (DDEException e)
{
    System.out.println("DDEException: " + e.getMessage());
}

Скачать ExcelExample.java
Скачать все примеры и библиотеку

Запуск примера из консоли:

java -cp .;pretty-tools-JDDE-2.1.0.jar ExcelExample