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

set_cell

set_cell($path,$sheet,$row,$col,$text); - задать текст ячейки (Доступна с версии 7.0.58)

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

  • $path – путь к файлу
  • $sheet – номер листа (нумерация начинается с 0)
  • $row – номер строки (нумерация начинается с 0)
  • $col – номер столбца (нумерация начинается с 1, можно именовать латинскими буквами "A","B",..,"AA" и т.д)
  • $text – новый текст ячейки

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

    Пример использования
    <?php
    
    // Scenario: Set cell 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 1: Set cell value as number
    $sheetNumber = 0;
    echo("\nExample 1: Set cell value as number J4 Sheet $sheetNumber : ");
    // Extract method arguments into variables
    $excelFilePath = "test/test.xlsx";
    $rowNumber1 = 4;
    $columnLetter1 = "J";
    $cellValue1 = "99999";
    $cellType1 = "Number";
    $result = SYSTEM::$excelfile->set_cell($excelFilePath, $sheetNumber, $rowNumber1, $columnLetter1, $cellValue1, $cellType1);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 2: Get cell value
    echo("\nExample 2: Get cell value J4 Sheet $sheetNumber : ");
    $cellValue = SYSTEM::$excelfile->get_cell($excelFilePath, $sheetNumber, $rowNumber1, $columnLetter1);
    echo($cellValue . "\n");
    
    // Example 3: Set cell value as text
    echo("\nExample 3: Set cell value as text J5 Sheet $sheetNumber : ");
    // Extract method arguments into variables
    $rowNumber2 = 5;
    $columnLetter2 = 10;
    $cellValue2 = "new text 5";
    $cellType2 = "";
    $result = SYSTEM::$excelfile->set_cell($excelFilePath, $sheetNumber, $rowNumber2, $columnLetter2, $cellValue2, $cellType2);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 4: Get cell value
    echo("\nExample 4: Get cell value J5 Sheet $sheetNumber : ");
    $cellValue = SYSTEM::$excelfile->get_cell($excelFilePath, $sheetNumber, $rowNumber2, $columnLetter2);
    echo($cellValue . "\n");
    
    // Example 5: Set cell value as date
    echo("\nExample 5: Set cell value as date J6 Sheet $sheetNumber : ");
    // Extract method arguments into variables
    $rowNumber3 = 6;
    $columnLetter3 = 10;
    $cellValue3 = "01.01.2025";
    $cellType3 = "DateTime";
    $result = SYSTEM::$excelfile->set_cell($excelFilePath, $sheetNumber, $rowNumber3, $columnLetter3, $cellValue3, $cellType3);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 6: Get cell value
    echo("\nExample 6: Get cell value J6 Sheet $sheetNumber : ");
    $cellValue = SYSTEM::$excelfile->get_cell($excelFilePath, $sheetNumber, $rowNumber3, $columnLetter3);
    echo($cellValue . "\n");
    
    // Example 7: Set cell value as formula
    echo("\nExample 7: Set cell value as formula J7 Sheet $sheetNumber : ");
    // Extract method arguments into variables
    $rowNumber4 = 7;
    $columnLetter4 = "J";
    $cellValue4 = "=SUM(B7:B9)";
    $cellType4 = "";
    $result = SYSTEM::$excelfile->set_cell($excelFilePath, $sheetNumber, $rowNumber4, $columnLetter4, $cellValue4, $cellType4);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 8: Get cell value
    echo("\nExample 8: Get cell value J7 Sheet $sheetNumber : ");
    $cellValue = SYSTEM::$excelfile->get_cell($excelFilePath, $sheetNumber, $rowNumber4, $columnLetter4);
    echo($cellValue . "\n");
    
    // Example 9: Set cell value as boolean true
    echo("\nExample 9: Set cell value as boolean true J8 Sheet $sheetNumber : ");
    // Extract method arguments into variables
    $rowNumber5 = 8;
    $columnLetter5 = "J";
    $cellValue5 = "true";
    $cellType5 = "Boolean";
    $result = SYSTEM::$excelfile->set_cell($excelFilePath, $sheetNumber, $rowNumber5, $columnLetter5, $cellValue5, $cellType5);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 10: Get cell value
    echo("\nExample 10: Get cell value J8 Sheet $sheetNumber : ");
    $cellValue = SYSTEM::$excelfile->get_cell($excelFilePath, $sheetNumber, $rowNumber5, $columnLetter5);
    echo($cellValue . "\n");
    
    // Example 11: Set cell value as TimeSpan ISO 8601
    echo("\nExample 11: Set cell value as TimeSpan ISO 8601 J9 Sheet $sheetNumber : ");
    // Extract method arguments into variables
    $rowNumber6 = 9;
    $columnLetter6 = "J";
    $cellValue6 = "PT1H30M"; // 'PT1H30M' is 1 hour, 30 minutes. Cell value will be `1:30:00`
    $cellType6 = "TimeSpan";
    $result = SYSTEM::$excelfile->set_cell($excelFilePath, $sheetNumber, $rowNumber6, $columnLetter6, $cellValue6, $cellType6);
    if ($result === true)
        echo("true\n");
    else
        echo("false\n");
    
    // Example 12: Get cell value
    echo("\nExample 12: Get cell value J9 Sheet $sheetNumber : ");
    $cellValue = SYSTEM::$excelfile->get_cell($excelFilePath, $sheetNumber, $rowNumber6, $columnLetter6);
    echo($cellValue . "\n");
    
    // 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.set_cell</font><hr>")
    
    excel.kill()
    
    # Путь к файлу Excel
    excelFilePath = "test/test.xlsx"
    # Номер Листа
    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
    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()
    #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.set_cell</font><hr>");
    
    			// 1 
    			echo("\n1. Зададим текст ячейки : ");
    			echo(excelfile.set_cell("test\\test.xlsx",0,5,"A","new text"));
    
    			// 2 
    			echo("\n2. Получим текст ячейки (5 A): ");
    			echo(excelfile.get_cell("test\\test.xlsx",0,5,"A"));
    
    			// конец
    			echo("\n\n");
    
    			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;
    
    // 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();

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