Вставить данные из базы данных CANoe в существующий лист Excel - PullRequest
0 голосов
/ 18 марта 2020
on envVar Button_SaveToFile_Ver
{
    if(@Button_SaveToFile_Ver == 1)
    {
        /* Read template files */
        ReadFile(sTemplDirectory, sTemplFilename_DRX, sOutputFileBuffer);

        if(@ChckBox_Use_OEM == 1)
        {
        char sTempBuffer[2000];

        ClearString(sTempBuffer, elcount(sTempBuffer));

        ReadFile(sTemplDirectory, sTemplFilename_OEM, sTempBuffer);
        strncat(sOutputFileBuffer, sTempBuffer, 
                              elcount(sOutputFileBuffer));
    }

    if(@ChckBox_Use_Slave == 1)
    {
        char sTempBuffer[2000];

        ClearString(sTempBuffer, elcount(sTempBuffer));

        ReadFile(sTemplDirectory, sTemplFilename_Slave, sTempBuffer);
        strncat(sOutputFileBuffer, sTempBuffer, 
                                   elcount(sOutputFileBuffer));
    }

    /* Put received data into file buffer */
    InsertStrings(sOutputFileBuffer, 0, REQUESTS_NUMBER);

    /* Write file */
    WriteFile(sOutputFileDirectory, sOutputFilename, sOutputFileBuffer);

        write("File was written");
         }
    }

  on envVar Button_SaveToExcel_Ver
 {
    if(@Button_SaveToExcel_Ver == 1)
  {

  }
  }

`Недавно мне было поручено автоматизировать процесс вставки некоторых данных ECU в CANoe в уже существующий лист Excel с использованием CAPL. Я довольно новичок в этом и хотел помочь. Я буду настолько сложным, насколько это возможно. 1. Как я могу создать ссылку env var на базу данных в CAPL / CANoe. 2. Я уже создал панель с кнопкой, которую нужно назначить с помощью вышеупомянутого env var. Итак, мой вопрос здесь, как я могу получить доступ к уже существующему файлу, который требует некоторых данных от этой кнопки? Я имею в виду, что CAPL не поддерживает формат Excel. Как вывести некоторые данные в существующую таблицу Excel одним нажатием кнопки? Как мне приступить к написанию кода для этого?

1 Ответ

0 голосов
/ 31 марта 2020

CAPL не имеет API для связи с Excel и / или печати в формате Excel.

Вам нужно написать свою библиотеку, чтобы сделать это, или использовать внешний сценарий (например, сценарий python или что-то в этом роде). еще) с вызовом SysExec() в вашем CAPL.

Насколько я знаю, не существует готового решения с открытым исходным кодом.

...