Оставлю тут, может кому пригодится:
Скачиваем библиотеку PHPExcel
Я положил ее в assets/lib/ там внутри уже папка Classes из скачанного архива, в сниппете будет виден путь.
Создал TV файл, назвал его xlsFile
Создал сниппет showXls, в нем присутствует отладочная информация:
<?php
require_once 'assets/lib/Classes/PHPExcel/IOFactory.php';
$xls = $modx->resource->getTVValue('xlsFile');
$objPHPExcel = PHPExcel_IOFactory::load($xls);
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet)
{
$worksheetTitle = $worksheet->getTitle();
$highestRow = $worksheet->getHighestRow();
$highestColumn = $worksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$nrColumns = ord($highestColumn) - 64;
echo "
В таблице ".$worksheetTitle." ";
echo $nrColumns . ' колонок (A-' . $highestColumn . ') ';
echo ' и ' . $highestRow . ' строк.';
echo '
Данные: <table border="0"><tr>';
for ($row = 1; $row <= $highestRow; ++ $row)
{
echo '<tr>';
for ($col = 0; $col < $highestColumnIndex; ++ $col)
{
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val = $cell->getValue();
$dataType = PHPExcel_Cell_DataType::dataTypeForValue($val);
echo '<td>' . $val . '
(Тип ' . $dataType . ')</td>';
}
echo '</tr>';
}
echo '</table>';
}
И теперь в ресурсе, где надо вывести Excel и где мы загрузили в TV файлик, запускаем сниппет:
[[showXls?]]