humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | Changelog

set_column_types_dict

set_column_types_dict($path,$sheet,$columns_types_array); - Внести данные типов колонок в Листе файла Excel в коллекцию

Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula

Функция на вход принимает параметры:

  • $path – Путь к файлу Excel
  • $sheet – Номер Листа
  • $columns_types_array – Массив значений типов для ячеек

    После выполнения функции возвращаемое значение будет равно одному из двух :
  • true – успешно
  • false – не удалось

    Пример использования
    <?php
    
    // Scenario: Set column type dictionaries in Excel file
    
    $xhe_host = getenv("RPABOT_HOST_URL");
    
    // Connect functional objects if not already connected
    if (!isset($path)) {
        // Path to the init.php file for connecting to the XHE API
        $path = "../../../Templates/init.php";
        // Including init.php grants access to all classes and functionality for working with the XHE API
        require($path);
    }
    
    echo "\n<span >excelfile->" . basename(__FILE__) . "</span>\n";
    
    // Initialize Excel
    SYSTEM::$excel->kill();
    
    // Remove column types dictionary
    $sheetNumber = 1;
    echo("\nRemove column types dictionary for sheet $sheetNumber : ");
    // Extract method arguments into variables
    $excelFilePath = "test/test.xlsx";
    $result = SYSTEM::$excelfile->remove_column_types_dict($excelFilePath, $sheetNumber);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 1: Add column types dictionary
    echo("\nExample 1: Add column types dictionary for sheet $sheetNumber : ");
    // Extract method arguments into variables
    // Valid column types: Text, Number, TimeSpan, DateTime, Boolean, Formula
    $columnsTypesArray = array();
    $columnsTypesArray[0] = "Text"; // placeholder, this column does not exist
    $columnsTypesArray[1] = "Text";
    $columnsTypesArray[2] = "Text";
    $columnsTypesArray[3] = "Text";
    $columnsTypesArray[4] = "Text";
    $columnsTypesArray[5] = "Text";
    $columnsTypesArray[6] = "Text";
    $columnsTypesArray[7] = "Text";
    $columnsTypesArray[8] = "Text";
    $columnsTypesArray[9] = "Text";
    $columnsTypesArray[10] = "Text";
    $columnsTypesArray[11] = "Number";
    $columnsTypesArray[12] = "Number";
    $columnsTypesArray[13] = "DateTime";
    $columnsTypesArray[14] = "Text";
    $columnsTypesArray[15] = "Boolean";
    
    echo("\nColumn types array for sheet $sheetNumber:  ");
    var_export($columnsTypesArray);
    $result = SYSTEM::$excelfile->set_column_types_dict($excelFilePath, $sheetNumber, $columnsTypesArray);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 2: Set sheet content from array with type support by dictionary
    echo("\nExample 2: Set sheet content from array start cell 10:10 with type support by dictionary in sheet $sheetNumber : ");
    // Extract method arguments into variables
    $sheetArray = array(
        array(1, 2, '14.08.2025', '001', true, true),
        array(2, 2, '15.09.2025', '001', true, true),
        array(3, 2, '14.08.2026', '001', false, false),
        array(4, 2, '14.08.2025', '001', true, true)
    );
    $startRow = 10;
    $startCol = 10;
    $timeout = 3000;
    $asText = false;
    $result = SYSTEM::$excelfile->set_sheet($excelFilePath, $sheetNumber, $sheetArray, $timeout, $startRow, $startCol, $asText);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 3: Remove column types dictionary
    echo("\nExample 3: Remove column types dictionary for sheet $sheetNumber : ");
    // Extract method arguments into variables
    $result = SYSTEM::$excelfile->remove_column_types_dict($excelFilePath, $sheetNumber);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // View the result
    WINDOW::$app->shell_execute("open", $excelFilePath);
    
    // End of script
    echo "\n";
    
    // Quit application
    WINDOW::$app->quit();
    ?>
    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
    
    xhe_host = "127.0.0.1:7013"
    from xweb_human_emulator import *
    debug_panel_translit_text = false;
    # начало
    echo("<hr><font color=blue>excelfile.remove_column_types_dict</font><hr>")
    
    excel.kill()
    
    # Путь к файлу Excel
    excelFilePath = "test/test.xlsx"
    # Номер Листа
    sheetNumber = 0
    
    # Массив данных для вставки в Лист
    sheet_array = [
    
        [1, 2, '14.08.2025', '001', true, true],
        [2, 2, '15.09.2025', '001', true, true],
        [3, 2, '14.08.2026', '001', false, false],
        [4, 2, '14.08.2026', '001', false, false]
    ]
    
    # 0. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber")
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber))
    
    # 2. Добавить типы колонок в словарь для этого файла и Листа
    echo("\n2. Добавить типы колонок в словарь для Листа sheetNumber: ")
    
    # Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula
    columns_types_array = [
        "Text", # это заглушка такого столбца не существует
        "Text",
        "Text",
        "Text",
        "Text",
        "Text",
        "Text",
        "Text",
        "Text",
        "Text",
        "Number",
        "Number",
        "DateTime",
        "Text",
        "Boolean"]
    
    echo ("\nМассив типов колонок для Листа sheetNumber:  ")
    echo(columns_types_array)
    echo(excelfile.set_column_types_dict(excelFilePath, sheetNumber, columns_types_array))
    
    # 3. Задать содержимое Листа из массива с типизацией по словарю
    echo("\n3. Задать содержимое 1 Листа из массива стартовая ячейка 10:10 с типизацией по словарю в Лист sheetNumber: ")
    echo(excelfile.set_sheet(excelFilePath, 1, sheet_array, 3000, 10, 10, false))
    
    # 4. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ")
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber))
    
    # посмотрим
    app.shell_execute("open", excelFilePath)
    
    # Quit
    app.quit()
    using System;
    using System.Diagnostics;
    using System.Collections.Generic;
    using System.Linq;
    using System.IO;
    using System.Text;
    using System.Threading;
    
    using XHE;
    using XHE.XHE_DOM;
    using XHE.XHE_System;
    using XHE.XHE_Window;
    using XHE.XHE_Web;
    
    //endregion
    
    class Program : XHEScript
    {
        static void Main(string[] args)
        {
            // init XHE
            server = "127.0.0.1:3036";
            InitXHE();
    
            // начало
            echo("<hr><font color=blue>excelfile.set_column_types_dict</font><hr>");
    
    
            excel.kill();
    
            // Путь к файлу Excel
            excelFilePath = "test/test.xlsx";
            // Номер Листа
            sheetNumber = 0;
    
            // Массив данных для вставки в Лист
            var sheet_array =
            [
    
                [1, 2, '14.08.2025', '001', true, true],
                [2, 2, '15.09.2025', '001', true, true],
                [3, 2, '14.08.2026', '001', false, false],
                [4, 2, '14.08.2026', '001', false, false]
            ];
    
            // 0. Удалить типы колонок из словаря для этого файла и Листа
            echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber");
            echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
            // 2. Добавить типы колонок в словарь для этого файла и Листа
            echo("\n2. Добавить типы колонок в словарь для Листа sheetNumber: ");
    
            // Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula
            var columns_types_array =
            [
                "Text", // это заглушка такого столбца не существует
                 "Text",
                 "Text",
                 "Text",
                 "Text",
                 "Text",
                 "Text",
                 "Text",
                 "Text",
                 "Text",
                 "Number",
                 "Number",
                 "DateTime",
                 "Text",
                 "Boolean"
            ]
    
             echo("\nМассив типов колонок для Листа sheetNumber:  ");
            echo(columns_types_array)
             echo(excelfile.set_column_types_dict(excelFilePath, sheetNumber, columns_types_array))
    
             // 3. Задать содержимое Листа из массива с типизацией по словарю
             echo(
                 "\n3. Задать содержимое 1 Листа из массива стартовая ячейка 10:10 с типизацией по словарю в Лист sheetNumber: ")
             echo(excelfile.set_sheet(excelFilePath, 1, sheet_array, 3000, 10, 10, false));
    
            // 4. Удалить типы колонок из словаря для этого файла и Листа
            echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ");
            echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
            // посмотрим
            app.shell_execute("open", excelFilePath);
    
            app.quit();
        }
    }
    xhe_host="127.0.0.1:7013";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>excelfile.set_column_types_dict</font><hr>");
    
    excel.kill();
    
    // Путь к файлу Excel
    const excelFilePath = "test/test.xlsx";
    // Номер Листа
    const sheetNumber = 0;
    
    // Массив данных для вставки в Лист
    const sheet_array = [
    
        [1, 2, '14.08.2025', '001', true, true],
        [2, 2, '15.09.2025', '001', true, true],
        [3, 2, '14.08.2026', '001', false, false],
        [4, 2, '14.08.2026', '001', false, false]
    ];
    
    // 0. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber");
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
    // 2. Добавить типы колонок в словарь для этого файла и Листа
    echo("\n2. Добавить типы колонок в словарь для Листа sheetNumber: ");
    
    // Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula
    columns_types_array = array();
    columns_types_array[0] = "Text";  // это заглушка такого столбца не существует
    columns_types_array[1] = "Text";
    columns_types_array[2] = "Text";
    columns_types_array[3] = "Text";
    columns_types_array[4] = "Text";
    columns_types_array[5] = "Text";
    columns_types_array[6] = "Text";
    columns_types_array[7] = "Text";
    columns_types_array[8] = "Text";
    columns_types_array[9] = "Text";
    columns_types_array[10] = "Number";
    columns_types_array[11] = "Number";
    columns_types_array[12] = "DateTime";
    columns_types_array[13] = "Text";
    columns_types_array[14] = "Boolean";
    
    echo ("\nМассив типов колонок для Листа sheetNumber:  ");
    echo(columns_types_array);
    echo(excelfile.set_column_types_dict(excelFilePath, sheetNumber, columns_types_array));
    
    // 3. Задать содержимое Листа из массива с типизацией по словарю
    echo("\n3. Задать содержимое 1 Листа из массива стартовая ячейка 10:10 с типизацией по словарю в Лист sheetNumber: ");
    echo(excelfile.set_sheet(excelFilePath, 1, sheet_array, 3000, 10, 10, false));
    
    // 4. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ");
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
    
    // посмотрим
    app.shell_execute("open", excelFilePath);
    
    // Quit
    app.quit();

    =============================================
    excelfile    Объекты    DOM  System  Vision  Web  Window        
    =============================================
    если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
    .