Обновить базу данных в Битрикс из файла XML Excel

Обновить базу данных в Битрикс из файла XML Excel

Библиотека SpreadsheetReader для чтения excel XML Excel 2004

Откроет только файлы в формате XML Excel 2004.

Сайт: https://code.google.com/archive/p/php-spreadsheetreader/


<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

global $DB;
use Bitrix\Main\Diag;
// загружаем библиотеку для чтения excel
require('spreadsheet-reader-master/php-excel-reader/excel_reader2.php');
require('spreadsheet-reader-master/SpreadsheetReader.php');

// путь к файлу excel
$Filepath = 'correct.xlsx';

// переносим данные из excel в массив php
try {
    $Spreadsheet = new SpreadsheetReader($Filepath);

    $arSheet = [];

    foreach ($Spreadsheet as $Row) {
        $arSheet[] = $Row;
    }

} catch (Exception $E) {
    $error = $E->getMessage();
    Diag\Debug::writeToFile($error, "", $fileName = "/er_log.txt");
}

// обновляем базу данных
foreach ($arSheet as $s => $item) {
    $strSql = "UPDATE your_table SET `YOUR_FIELD`= " . $item[1] . " WHERE `USER_ID`= " . $item[0];

    $res = $DB->Query($strSql, false);

    while($row = $res->Fetch()){
        echo '<pre>'; print_r($row); echo '</pre>';
    }
}
?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

Будьте внимательны при работе с базой данных! Всегда сохраняйте резервную копию.