humanemulator.net . , . | | | API |

add_rows

add_rows($path,$sheet,$rows_array,$timeout=3000,$set_all_cell_values_as_string=false); - Добавить несколько строк в Лист файле Excel

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

  • $path – Путь к файлу Excel
  • $sheet – Номер Листа
  • $rows_array – двумерный массив значений для создания строк
  • $timeout – Таймаут ожидания выполнения операции, сек
  • $set_all_cell_values_as_string – Для значения ячеек устанавливать тип 'Text'? Да/Нет

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

    Пример использования
    <?php
    
    // Scenario: Add multiple rows to Excel file
    
    $xhe_host = getenv("RPABOT_HOST_URL");
    
    // Connect functional objects if not already connected
    if (!isset($path)) {
        $path = "../../../Templates/init.php";
        require($path);
    }
    
    echo "\n<span >excelfile->" .basename (__FILE__). "</span>\n";
    
    // Initialize Excel
    SYSTEM::$excel->kill();
    
    // Excel file path and sheet number
    $excelFilePath = "test/test.xlsx";
    $sheetNumber = 0;
    
    // Data array for adding
    $dataArr = array(
        array(1, 2.1, '14.08.2025', '001', true),
        array(2, 2.2, '14.09.2025', '001', true),
    	array(3, 2.3, '14.10.2025', '001', false),
        array(4, 2.4, '14.11.2025', '001', false),
    );
    
    // Example 0: Remove column types dictionary for this file and sheet
    echo("\nExample 0: Remove column types dictionary for sheet $sheetNumber");
    echo(SYSTEM::$excelfile->remove_column_types_dict($excelFilePath, $sheetNumber));
    
    // Header row
    $jsonHeaderRow = array("Data with typing obtained from JSON serialization");
    SYSTEM::$excelfile->add_row($excelFilePath, $sheetNumber, $jsonHeaderRow);
    
    // Example 1: Add rows with JSON typing
    // For JSON, date cell will get date value as date if string is date in ISO 8601 format. Example: '2012-04-21T18:25:43-03:00'
    echo("\nExample 1: Add rows with typing to sheet $sheetNumber: ");
    // Extract method arguments into variables
    $startRow1 = 3000;
    $asStrings1 = false;
    echo(SYSTEM::$excelfile->add_rows($excelFilePath, $sheetNumber, $dataArr, $startRow1, $asStrings1));
    
    // Example 2: Add column types to dictionary for this file and sheet
    echo("\nExample 2: Add column types to dictionary for sheet $sheetNumber");
    
    // Extract method arguments into variables - column types array
    // Valid column types: Text, Number, TimeSpan, DateTime, Boolean, Formula
    $columns_types_array = array();
    $columns_types_array[0] = "Text"; // this is a placeholder, such column doesn't exist
    $columns_types_array[1] = "Number";
    $columns_types_array[2] = "Number";
    $columns_types_array[3] = "DateTime";
    $columns_types_array[4] = "Text";
    $columns_types_array[5] = "Boolean";
    
    echo ("\nColumn types array for sheet $sheetNumber:  ");
    var_export($columns_types_array);
    echo("\n" . SYSTEM::$excelfile->set_column_types_dict($excelFilePath, $sheetNumber, $columns_types_array));
    
    // Header row. Will cause error as this column expects type "Number"
    $errorHeaderRow = array("Data with typing obtained from dictionary for this file's sheet");
    SYSTEM::$excelfile->add_row($excelFilePath, $sheetNumber, $errorHeaderRow);
    
    // Example 3: Add rows with typing by dictionary
    echo("\nExample 3: Add rows with typing by dictionary to sheet $sheetNumber");
    // Extract method arguments into variables
    $startRow3 = 3;
    $asStrings3 = false;
    echo(SYSTEM::$excelfile->add_rows($excelFilePath, $sheetNumber, $dataArr, $startRow3, $asStrings3));
    
    // Example 4: Remove column types from dictionary for this file and sheet
    echo("\nExample 4: Remove column types from dictionary for sheet $sheetNumber");
    echo(SYSTEM::$excelfile->remove_column_types_dict($excelFilePath, $sheetNumber));
    
    // Header row
    $stringHeaderRow = array("Data with each cell typed as string");
    SYSTEM::$excelfile->add_row($excelFilePath, $sheetNumber, $stringHeaderRow);
    
    // Example 5: Add rows with all cells as strings
    echo("\nExample 5: Add new rows, all cells are strings, to sheet $sheetNumber: ");
    // Extract method arguments into variables
    $startRow5 = 3;
    $asStrings5 = true;
    echo(SYSTEM::$excelfile->add_rows($excelFilePath, $sheetNumber, $dataArr, $startRow5, $asStrings5));
    
    // View the result
    WINDOW::$app->shell_execute("open", $excelFilePath);
    
    // Quit
    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
    
    
    # Массив для добавления
    dataArr = [
        [1, 2.1, '14.08.2025', '001', true],
        [2, 2.2, '14.09.2025', '001', true],
        [3, 2.3, '14.10.2025', '001', false],
        [4, 2.4, '14.11.2025', '001', false]
    ]
    
    # 0. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber")
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber))
    
    # 1.  Добавить строки с типизацией по JSON
    # Для JSON ячейка даты получит значение даты как даты, если строка дата по ISO 8601. Пример: '2012-04-21T18:25:43-03:00'
    echo("\n1. Добавить строки с типизацией в Лист sheetNumber: ")
    echo(excelfile.add_rows(excelFilePath, sheetNumber, dataArr, 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.  Добавить строки с типизацией по словарю.
    echo("\n3. Добавить строки с типизацией по словарю в Лист sheetNumber")
    echo(excelfile.add_rows(excelFilePath, sheetNumber, dataArr, 3, false))
    
    # 4. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber")
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber))
    
    # 5.  Добавить строки с типизацией по словарю
    echo("\n5. Добавим новую строку, все ячейки это строки, в Лист sheetNumber: ")
    echo(excelfile.add_rows(excelFilePath, sheetNumber, dataArr, 3, 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 = Environment.GetEnvironmentVariable("RPABOT_HOST_URL");
    			InitXHE();
    
    			// начало
    			echo("<hr><font color=blue>excelfile.get_cell</font><hr>");
    
                excel.kill();
    
                // Путь к файлу Excel
                var excelFilePath = "test/test.xlsx";
                // Номер Листа
                var sheetNumber = 0;
    
                // Массив для добавления
                var dataArr = string[,]{
                        {
                            1, 2.1, '14.08.2025', '001', true
                        },
                        {
                            2, 2.2, '14.09.2025', '001', true
                        },
                        {
                            3, 2.3, '14.10.2025', '001', false
                        },
                        {
                            4, 2.4, '14.11.2025', '001', false
                        }
                };
    
    
                // 0. Удалить типы колонок из словаря для этого файла и Листа
                echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber");
                echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
                // 1.  Добавить строки с типизацией по JSON
                // Для JSON ячейка даты получит значение даты как даты, если строка дата по ISO 8601. Пример: '2012-04-21T18:25:43-03:00'
                echo("\n1. Добавить строки с типизацией в Лист sheetNumber: ");
                echo(excelfile.add_rows(excelFilePath, sheetNumber, dataArr, false));
    
                // 2. Добавить типы колонок в словарь для этого файла и Листа
                echo("\n2. Добавить типы колонок в словарь для Листа sheetNumber");
    
                // Допустимые типы колонок: Text, Number, TimeSpan, DateTime, Boolean, Formula
                var columns_types_array = 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.  Добавить строки с типизацией по словарю.
                echo("\n3. Добавить строки с типизацией по словарю в Лист sheetNumber");
                echo(excelfile.add_rows(excelFilePath, sheetNumber, dataArr, 3, false));
    
                // 4. Удалить типы колонок из словаря для этого файла и Листа
                echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber");
                echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
                // 5.  Добавить строки с типизацией по словарю
                echo("\n5. Добавим новую строку, все ячейки это строки, в Лист sheetNumber: ");
                echo(excelfile.add_rows(excelFilePath, sheetNumber, dataArr, 3, true));
    
    
                // посмотрим
                app.shell_execute("open", excelFilePath);
    
                // Quit
                app.quit();
        }
    }
    xhe_host="127.0.0.1:7013";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><span style=\"color: blue; \">excelfile->add_rows</span><hr>");
    
    excel.kill();
    
    // Путь к файлу Excel
    const excelFilePath = "test/test.xlsx";
    // Номер Листа
    const sheetNumber = 0;
    
    
    // Массив для добавления
    const dataArr = [
        [1, 2.1, '14.08.2025', '001', true],
        [2, 2.2, '14.09.2025', '001', true],
        [3, 2.3, '14.10.2025', '001', false],
        [4, 2.4, '14.11.2025', '001', false]
    ];
    
    // 0. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n0. Удалить типы колонок из словаря для Листа sheetNumber");
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
    // 1.  Добавить строки с типизацией по JSON
    // Для JSON ячейка даты получит значение даты как даты, если строка дата по ISO 8601. Пример: '2012-04-21T18:25:43-03:00'
    echo("\n1. Добавить строки с типизацией в Лист sheetNumber: ");
    echo(excelfile.add_rows(excelFilePath, sheetNumber, dataArr, 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.  Добавить строки с типизацией по словарю.
    echo("\n3. Добавить строки с типизацией по словарю в Лист sheetNumber");
    echo(excelfile.add_rows(excelFilePath, sheetNumber, dataArr, 3, false));
    
    // 4. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber");
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
    // 5.  Добавить строки с типизацией по словарю
    echo("\n5. Добавим новую строку, все ячейки это строки, в Лист sheetNumber: ");
    echo(excelfile.add_rows(excelFilePath, sheetNumber, dataArr, 3, true));
    
    
    // посмотрим
    app.shell_execute("open", excelFilePath);
    
    // Quit
    app.quit();

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