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

set_row

set_row($path,$sheet,$row,$row_array); - задать строку в листе (Доступна с версии 7.0.58)

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

  • $path – путь к файлу
  • $sheet – номер листа (нумерация начинается с 0)
  • $row – номер строки (нумерация начинается с 0)
  • $row_array – массив с содержимым ячеек строки

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

    Пример использования
    <?php
    
    // Scenario: Set row values in Excel file
    
    $xhe_host = "localhost:7010";
    
    // 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 for sheet $sheetNumber : ";
    // Extract method arguments into variables
    $excelFilePath = "test/test.xlsx";
    $sheetNumber = 0;
    $result = SYSTEM::$excelfile->remove_column_types_dict($excelFilePath, $sheetNumber);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 1: Set row 11 with type support
    echo("\nExample 1: Set row 11 with type support in sheet $sheetNumber : ");
    // Extract method arguments into variables
    $rowNumber1 = 11;
    $dataArray1 = array(1, 2.1, '14.08.2025', '001', true, true);
    $asText1 = false;
    $result = SYSTEM::$excelfile->set_row($excelFilePath, $sheetNumber, $rowNumber1, $dataArray1, $asText1);
    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";
    $columnsTypesArray[7] = "Text";
    $columnsTypesArray[8] = "Text";
    $columnsTypesArray[9] = "Text";
    $columnsTypesArray[10] = "Text";
    $columnsTypesArray[11] = "Text";
    $columnsTypesArray[12] = "Text";
    $columnsTypesArray[13] = "Text";
    $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 3: Set row 12 with type support by dictionary
    echo("\nExample 3: Set row 12 with type support by dictionary in sheet $sheetNumber : ");
    // Extract method arguments into variables
    $rowNumber2 = 12;
    $dataArray2 = array(2, 2.1, '14.08.2026', '001', true, true);
    $asText2 = false;
    $result = SYSTEM::$excelfile->set_row($excelFilePath, $sheetNumber, $rowNumber2, $dataArray2, $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 row 13, all cells as text, in sheet $sheetNumber
    echo("\nExample 5: Set row 13, all cells as text, in sheet $sheetNumber : ");
    // Extract method arguments into variables
    $rowNumber3 = 13;
    $asText3 = true;
    $result = SYSTEM::$excelfile->set_row($excelFilePath, $sheetNumber, $rowNumber3, $dataArray1, $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 the 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.get_cell</font><hr>")
    
    excel.kill()
    
    # Путь к файлу Excel
    excelFilePath = "test/test.xlsx"
    # Номер Листа
    sheetNumber = 0
    
    # Массив данных для вставки
    data_array1 = [1, 2.1, '14.08.2025', '001', true]
    echo("\nМассив данных #1 для вставки: ")
    echo(data_array1)
    
    data_array2 = [2, 2.1, '14.08.2026', '001', true]
    echo("\nМассив данных #2 для вставки: ")
    echo(data_array2)
    
    # 0. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber")
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber))
    
    # 1. Задать 11 строку, ячейки типы согласно данным типов полученным при сериализации JSON
    echo("\n1. Задать 11 строку с типизацией в Лист sheetNumber: ")
    echo( excelfile.set_row(excelFilePath, sheetNumber, 11, data_array1, false) )
    
    # 2. Добавить типы колонок в словарь для этого файла и Листа
    echo("\n2. Добавить типы колонок в словарь для Листа sheetNumber: ")
    # Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula
    columns_types_array = [
        "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. Задать 11 строку, ячейки согласно заданных типов колонок
    echo("\n3. Задать 12 строку с типизацией по словарю в Лист sheetNumber: ")
    echo( excelfile.set_row(excelFilePath, sheetNumber, 12, data_array2, false) )
    
    # 4. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ")
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber))
    
    # 5. Задать 13 строку, все ячейки текстового типа
    echo("\n5. Добавим новую строку, все ячейки это строки, в Лист sheetNumber: ")
    echo(excelfile.set_row(excelFilePath, sheetNumber, 13, data_array1, true) )
    
    
    # посмотрим
    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 = "localhost:7010";
    			InitXHE();
    
    			// начало
    			echo("<hr><font color=blue>excelfile.get_cell</font><hr>");
    
    			excel.kill();
    
                // Путь к файлу Excel
                var excelFilePath = "test/test.xlsx";
                // Номер Листа
                var sheetNumber = 0;
    
    			// Массив данных для вставки
                var data_array1 = object[][]{1, 2.1, '14.08.2025', '001', true};
                echo("\nМассив данных #1 для вставки: ");
                //echo(data_array1);
    
                var data_array2 = object[][]{2, 2.1, '14.08.2026', '001', true};
                echo("\nМассив данных #2 для вставки: ");
                //echo(data_array2);
    
                // 0. Удалить типы колонок из словаря для этого файла и Листа
                echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber");
                echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
                // 1. Задать 11 строку, ячейки типы согласно данным типов полученным при сериализации JSON
                echo("\n1. Задать 11 строку с типизацией в Лист sheetNumber: ");
                echo( excelfile.set_row(excelFilePath, sheetNumber, 11, data_array1, false) );
    
                // 2. Добавить типы колонок в словарь для этого файла и Листа
                echo("\n2. Добавить типы колонок в словарь для Листа sheetNumber: ");
                // Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula
                var columns_types_array = new string[]{
                    "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. Задать 11 строку, ячейки согласно заданных типов колонок
                echo("\n3. Задать 12 строку с типизацией по словарю в Лист sheetNumber: ");
                echo( excelfile.set_row(excelFilePath, sheetNumber, 12, data_array2, false) );
    
                // 4. Удалить типы колонок из словаря для этого файла и Листа
                echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ");
                echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
                // 5. Задать 13 строку, все ячейки текстового типа
                echo("\n5. Добавим новую строку, все ячейки это строки, в Лист sheetNumber: ");
                echo(excelfile.set_row(excelFilePath, sheetNumber, 13, data_array1, 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.get_cell</font><hr>");
    
    excel.kill();
    
    // Путь к файлу Excel
    const excelFilePath = "test/test.xlsx";
    // Номер Листа
    const sheetNumber = 0;
    
    // Массив данных для вставки
    data_array1 = [1, 2.1, '14.08.2025', '001', true];
    echo("\nМассив данных #1 для вставки: ");
    echo(data_array1);
    
    data_array2 = [2, 2.1, '14.08.2026', '001', true];
    echo("\nМассив данных #2 для вставки: ");
    echo(data_array2);
    
    // 0. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber");
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
    // 1. Задать 11 строку, ячейки типы согласно данным типов полученным при сериализации JSON
    echo("\n1. Задать 11 строку с типизацией в Лист sheetNumber: ");
    echo( excelfile.set_row(excelFilePath, sheetNumber, 11, data_array1, false) );
    
    // 2. Добавить типы колонок в словарь для этого файла и Листа
    echo("\n2. Добавить типы колонок в словарь для Листа sheetNumber: ");
    // Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula
    const columns_types_array = [
        "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. Задать 11 строку, ячейки согласно заданных типов колонок
    echo("\n3. Задать 12 строку с типизацией по словарю в Лист sheetNumber: ");
    echo( excelfile.set_row(excelFilePath, sheetNumber, 12, data_array2, false) );
    
    // 4. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ");
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
    // 5. Задать 13 строку, все ячейки текстового типа
    echo("\n5. Добавим новую строку, все ячейки это строки, в Лист sheetNumber: ");
    echo(excelfile.set_row(excelFilePath, sheetNumber, 13, data_array1, true) );
    
    
    // посмотрим
    app.shell_execute("open", excelFilePath);
    
    // Quit
    app.quit();

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