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

add_row

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

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

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

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

    Пример использования
    <?php
    
    // Scenario: Add rows to Excel file
    
    $xhe_host = "localhost:7010";
    
    // Connect functional objects
    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 insertion
    $data_array = array(1, 2.1, '04.08.2025', '001', true);
    echo("\nData array for insertion: ");
    var_export($data_array);
    
    // 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
    $headerRow = array("Data with typing obtained from JSON serialization");
    SYSTEM::$excelfile->add_row($excelFilePath, $sheetNumber, $headerRow);
    
    // Example 1: Add new row 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 new row with typing to sheet $sheetNumber: ");
    // Extract method arguments into variables
    $asStrings1 = false;
    echo(SYSTEM::$excelfile->add_row($excelFilePath, $sheetNumber, $data_array, $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(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 new row with typing by dictionary
    echo("\nExample 3: Add new row with typing by dictionary to sheet $sheetNumber: ");
    // Extract method arguments into variables
    $asStrings3 = false;
    echo(SYSTEM::$excelfile->add_row($excelFilePath, $sheetNumber, $data_array, $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 new row with all cells as strings
    echo("\nExample 5: Add new row, all cells are strings, to sheet $sheetNumber: ");
    // Extract method arguments into variables
    $asStrings5 = true;
    echo(SYSTEM::$excelfile->add_row($excelFilePath, $sheetNumber, $data_array, $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
    
    # Массив данных для вставки
    data_array = [1, 2.1, '04.08.2025', '001', true]
    echo("\nМассив данных для вставки: ")
    echo(data_array)
    
    
    # 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_row(excelFilePath, sheetNumber, data_array, 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_row(excelFilePath, sheetNumber, data_array, false))
    
    # 4. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ")
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber))
    
    # 5. Добавим новую строку все ячейки это строки
    echo("\n5. Добавим новую строку, все ячейки это строки, в Лист sheetNumber: ")
    echo(excelfile.add_row(excelFilePath, sheetNumber, data_array, 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 = "127.0.0.1:7013";
            InitXHE();
    
            // начало
            echo("<hr><font color=blue>excelfile.add_row</font><hr>");
    
            excel.kill();
    
            // Путь к файлу Excel
            var excelFilePath = "test/test.xlsx";
            // Номер Листа
            var sheetNumber = 0;
    
            // Массив данных для вставки 
            object[] data_array = [1, 2.1, '04.08.2025', '001', true];
            echo("\nМассив данных для вставки: ");
            //var_export(data_array);
    
            // 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_row(excelFilePath,  sheetNumber, data_array, 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:  ");
            //var_export(columns_types_array);
            echo(excelfile.set_column_types_dict(excelFilePath,  sheetNumber, columns_types_array));
    
            // 3. Добавим новую строку с типизацией по словарю
            echo("\n3. Добавим новую строку с типизацией по словарю в Лист sheetNumber: ");
            echo(excelfile.add_row(excelFilePath,  sheetNumber, data_array, false));
    
            // 4. Удалить типы колонок из словаря для этого файла и Листа
            echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ");
            echo(excelfile.remove_column_types_dict(excelFilePath,  sheetNumber));
    
            // 5. Добавим новую строку все ячейки это строки
            echo("\n5. Добавим новую строку, все ячейки это строки, в Лист sheetNumber: ");
            echo(excelfile.add_row(excelFilePath,  sheetNumber, 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.get_cell</font><hr>");
    
    excel.kill();
    
    // Путь к файлу Excel
    const excelFilePath = "test/test.xlsx";
    // Номер Листа
    const sheetNumber = 0;
    
    // Массив данных для вставки
    const data_array = [1, 2.1, '04.08.2025', '001', true];
    echo("\nМассив данных для вставки: ");
    echo(data_array);
    
    
    // 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_row(excelFilePath, sheetNumber, data_array, 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_row(excelFilePath, sheetNumber, data_array, false));
    
    // 4. Удалить типы колонок из словаря для этого файла и Листа
    echo("\n4. Удалить типы колонок из словаря для Листа sheetNumber: ");
    echo(excelfile.remove_column_types_dict(excelFilePath, sheetNumber));
    
    // 5. Добавим новую строку все ячейки это строки
    echo("\n5. Добавим новую строку, все ячейки это строки, в Лист sheetNumber: ");
    echo(excelfile.add_row(excelFilePath, sheetNumber, data_array, true));
    
    
    // посмотрим
    app.shell_execute("open", excelFilePath);
    
    // Quit
    app.quit();

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