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

set_col

set_col($path,$sheet,$col,$col_array,$set_all_cell_values_as_string=false); - Заполнить столбец Листа файла Excel из массива

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

  • $path – Путь к файлу Excel
  • $sheet – Номер Листа
  • $col – Колонка. Буквенное или цифровое значение
  • $col_array – значения для заполнения в виде массива
  • $set_all_cell_values_as_string – Для значения ячеек устанавливать тип 'Text'? Да/Нет

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

    Пример использования
    <?php
    
    // Scenario: Set column values 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();
    
    // Example 0: Remove column types dictionary
    $sheetNumber = 3;
    echo("\nExample 0: Remove 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: Set column 5 with type support
    echo("\nExample 1: Set column 5 with type support in sheet $sheetNumber : ");
    // Extract method arguments into variables
    $columnNumber1 = 5;
    $dataArray = array('04.01.2025', '04.02.2025', '04.03.2025', '04.04.2025', '04.05.2025');
    echo("\nData array for insertion: ");
    var_export($dataArray);
    $asText = false;
    $result = SYSTEM::$excelfile->set_col($excelFilePath, $sheetNumber, $columnNumber1, $dataArray, $asText);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 2: Add column types dictionary
    echo("\nExample 2: 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] = "DateTime";
    
    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 3: Set column 6 with type support by dictionary
    echo("\nExample 3: Set column 6 with type support by dictionary in sheet $sheetNumber : ");
    // Extract method arguments into variables
    $columnNumber2 = 6;
    $asText2 = false;
    $result = SYSTEM::$excelfile->set_col($excelFilePath, $sheetNumber, $columnNumber2, $dataArray, $asText2);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 4: Remove column types dictionary
    echo("\nExample 4: 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");
    
    // Example 5: Set column 7, all cells as text
    echo("\nExample 5: Set column 7, all cells as text, in sheet $sheetNumber : ");
    // Extract method arguments into variables
    $columnNumber3 = 7;
    $asText3 = true;
    $result = SYSTEM::$excelfile->set_col($excelFilePath, $sheetNumber, $columnNumber3, $dataArray, $asText3);
    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 *
    
    # начало
    echo("<hr><font color=blue>excelfile.set_col</font><hr>")
    
    excel.kill()
    
    # Путь к файлу Excel
    excelFilePath = "test/test.xlsx"
    # Номер Листа
    sheetNumber = 0
    
    # 1. Задать текст ячейки как число
    echo("1. Задать текст ячейки как число J4 Лист sheetNumber: ")
    echo(excelfile.set_cell(excelFilePath, sheetNumber, 4, "J", "99999", 'Number'))
    
    # 2. Получить текст ячейки
    echo("\n2. Получить текст ячейки J4 Лист sheetNumber: ")
    echo(excelfile.get_cell(excelFilePath, sheetNumber, 4, "J"))
    
    # 3. Задать значение ячейки как текст
    echo("\n3. Задать значение ячейки J5 как текст Лист sheetNumber: ")
    echo(excelfile.set_cell(excelFilePath, sheetNumber, 5, 10, "new text 5", ''))
    
    # 4. Получить текст ячейки
    echo("\n4. Получить текст ячейки J5 Лист sheetNumber: ")
    echo(excelfile.get_cell(excelFilePath, sheetNumber, 5, 10))
    
    # 5. Задать значение ячейки как дату
    echo("\n5. Задать значение ячейки J6 как дату Лист sheetNumber: ")
    echo(excelfile.set_cell(excelFilePath, sheetNumber, 6, 10, "01.01.2025", 'DateTime'))
    
    # 6. Получить текст ячейки
    echo("\n6. Получить текст ячейки J6 Лист sheetNumber: ")
    echo(excelfile.get_cell(excelFilePath, sheetNumber, 6, 10))
    
    # 7. Задать значение ячейки как формула
    echo("\n7. Задать значение ячейки J7 как формула Лист sheetNumber: ")
    echo(excelfile.set_cell(excelFilePath, sheetNumber, 7, "J", "=SUM(B7:B9)"))
    
    # 8. Получить текст ячейки
    echo("\n8. Получить текст ячейки J7 Лист sheetNumber: ")
    echo(excelfile.get_cell(excelFilePath, sheetNumber, 7, 'J'))
    
    # 9. Задать значение ячейки как логическое значение
    echo("\n9. Задать значение ячейки J8 как логическое значение true Лист sheetNumber: ")
    echo(excelfile.set_cell(excelFilePath, sheetNumber, 8, "J", 'true', 'Boolean'))
    
    # 10. Получить текст ячейки
    echo("\n10. Получить текст ячейки J8 Лист sheetNumber: ")
    echo(excelfile.get_cell(excelFilePath, sheetNumber, 8, 'J'))
    
    # 11. Задать значение ячейки как логическое значение
    echo("\n11. Задать значение ячейки J9 как TimeSpan как ISO 8601 Лист sheetNumber: ")
    echo(excelfile.set_cell(excelFilePath, sheetNumber, 9, "J", 'PT1H30M', 'TimeSpan')) # 'PT1H30M' это 1 час, 30 минут. Значение в ячейке будет `1:30:00'
    
    # 12. Получить текст ячейки
    echo("\n12. Получить текст ячейки J9 Лист sheetNumber: ")
    echo(excelfile.get_cell(excelFilePath, sheetNumber, 9, 'J'))
    
    # посмотрим
    app.shell_execute("open", excelFilePath)
    
    # Quit
    app.quit()
    #region using
    
    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 = Environment.GetEnvironmentVariable("RPABOT_HOST_URL");
    			InitXHE();
    
    			// начало
    			echo("<hr><font color=blue>excelfile.set_col</font><hr>");
    
                excel.kill();
    
                // Путь к файлу Excel
                var excelFilePath = "test/test.xlsx";
                // Номер Листа
                var sheetNumber = 0;
    
                // Массив данных для вставки
                var data_array = string[,]{
                    '04.01.2025', '04.02.2025', '04.03.2025', '04.04.2025', '04.05.2025'
                };
    
                echo("\nМассив данных для вставки: ");
                //echo(data_array);
    
    
                // 0. Удалить типы колонок из словаря для этого файла и Листа
                echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber: ");
                echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
                // 1. Зададим столбец 5 с типизацией
                echo("\n1. Зададим столбец 5 с типизацией в Лист sheetNumber: ");
                echo(excelfile.set_col(excelFilePath, sheetNumber, 5, data_array, false));
    
                // 2. Добавить типы колонок в словарь для этого файла и Листа
                echo("\n2. Добавить типы колонок в словарь для Листа sheetNumber: ");
    
                // Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula
                var columns_types_array = string[,]{
                    "Text", // это заглушка такого столбца не существует
                    "Text",
                    "Text",
                    "Text",
                    "Text",
                    "Text",
                    "DateTime",
                    "Text"
                };
    
                echo("\nМассив типов колонок для Листа sheetNumber:  ");
                //echo(columns_types_array);
                echo(excelfile.set_column_types_dict(excelFilePath, sheetNumber, columns_types_array));
    
                // 3. Зададим столбец 6 с типизацией
                echo("3. Зададим столбец 6 с типизацией в Лист sheetNumber: ");
                echo(excelfile.set_col(excelFilePath, sheetNumber, 6, data_array, false));
    
                // 4. Удалить типы колонок из словаря для этого файла и Листа
                echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ");
                echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
                // 5. Зададим столбец 7 все ячейки это строки
                echo("\n5. Зададим столбец 7, все ячейки это строки, в Лист sheetNumber: ");
                echo(excelfile.set_col(excelFilePath, sheetNumber, 7, data_array, true));
    
                // посмотрим
                app.shell_execute("open", excelFilePath);
    
                // Quit
                app.quit();
        }
    }
    xhe_host="127.0.0.1:7013";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>excelfile.set_col</font><hr>");
    
    excel.kill();
    
    // Путь к файлу Excel
    const excelFilePath = "test/test.xlsx";
    // Номер Листа
    const sheetNumber = 0;
    
    // Массив данных для вставки
    data_array = ['04.01.2025', '04.02.2025', '04.03.2025', '04.04.2025', '04.05.2025'];
    echo("\nМассив данных для вставки: ");
    echo(data_array);
    
    
    // 0. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber: ");
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
    // 1. Зададим столбец 5 с типизацией
    echo("\n1. Зададим столбец 5 с типизацией в Лист sheetNumber: ");
    echo(excelfile.set_col(excelFilePath, sheetNumber, 5, data_array, false));
    
    // 2. Добавить типы колонок в словарь для этого файла и Листа
    echo("\n2. Добавить типы колонок в словарь для Листа sheetNumber: ");
    
    // Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula
    const columns_types_array = [
    "Text", // это заглушка такого столбца не существует
    "Text",
    "Text",
    "Text",
    "Text",
    "Text",
    "DateTime",
    "Text"];
    
    echo ("\nМассив типов колонок для Листа sheetNumber:  ");
    echo(columns_types_array);
    echo(excelfile.set_column_types_dict(excelFilePath, sheetNumber, columns_types_array));
    
    // 3. Зададим столбец 6 с типизацией
    echo("3. Зададим столбец 6 с типизацией в Лист sheetNumber: ");
    echo(excelfile.set_col(excelFilePath, sheetNumber, 6, data_array, false));
    
    // 4. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ");
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
    // 5. Зададим столбец 7 все ячейки это строки
    echo("\n5. Зададим столбец 7, все ячейки это строки, в Лист sheetNumber: ");
    echo(excelfile.set_col(excelFilePath, sheetNumber, 7, data_array, true));
    
    // посмотрим
    app.shell_execute("open", excelFilePath);
    
    // Quit
    app.quit();

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