Как найти excel на сайте

Никак не могу найти информацию, как вывести прайс excel на сайте в виде обычной html странички.
Суть задачи — менеджер загружает на сайт обновленный прайс (TV файл) — он обновляется на странице. Внешний вид на странице:

<table></table>

Николай Ланец

Просто так ничего не будет выводиться. Если загружаете экселевский файл, то он без лишних действий им же и останется. Если в HTML выводить, то его парсить надо. Есть два основных варианта:
1. Загружать именно как эксель (формат .xls или .xlsx), подключать php-библиотеку для работы с эксель-файлами, парсить данные и выводить их в нужном формате.
2. Сохранять эксель-файл в формате CSV. С ним проще работать как с простым текстовым файлом. В помощь функции
fgetcsv и str_getcsv.

Спасибо. Я подключал pxpexcel, делал по аналогии с Evo, но к сожалению так и не смог избавиться от ошибок.
С PHP я не настолько хорошо знаком. Думал, может у кого осталась ссылочка на мануал или заметка Evernote.

Попробую fgetcsv использовать.

Николай Ланец

думал там можно просто заменить getTemplateVarOutput на Revo-вские getObject

Так getTemplateVarOutput() возвращает значение ТВ-поля. В Рево это $modx->resource->getTVValue($tv_id);

Да, я так и получал TV, там у меня ошибки именно в PHPExcel. Спасибо.

Не помню. Были разные по мере работ. Буквально час назад заработало.
Поменял запись из примера:

$objReader = PHPExcel_IOFactory::createReader('Excel2007'); // $objPHPExcel = $objReader->load($xls);

$objPHPExcel = PHPExcel_IOFactory::load($xls);

$xls — tv путь к файлику экселя.
И сейчас всё работает.

Оставлю тут, может кому пригодится:
Скачиваем библиотеку
PHPExcel
Я положил ее в assets/lib/ там внутри уже папка Classes из скачанного архива, в сниппете будет виден путь.
Создал TV файл, назвал его xlsFile
Создал сниппет showXls, в нем присутствует отладочная информация:

<?php require_once 'assets/lib/Classes/PHPExcel/IOFactory.php'; // Подключаем библиотеку $xls = $modx->resource->getTVValue('xlsFile'); // Наш TV $objPHPExcel = PHPExcel_IOFactory::load($xls); // Скармливаем его библиотеке foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { $worksheetTitle = $worksheet->getTitle(); $highestRow = $worksheet->getHighestRow(); // Например, 10 $highestColumn = $worksheet->getHighestColumn(); // Например, 'F' $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?]]

Николай Ланец

Ну что, круто! И на вид даже универсально. Имело смысл не комментом дописать, а прям в топик, но и так пойдет, можно просто UPD-ссылку в топик дописать на решение. Наверняка кому-нибудь пригодится.

Николай Ланец

За полезный материал поднимаю статус до члена Клуба :)

И теперь в ресурсе, где надо вывести Excel и где мы загрузили в TV файлик, запускаем сниппет:
[[showXls?]]

Решение действительно интересное. Один вопрос. Скажите, а не накладно, что при каждом обновлении страницы происходит обработка Excel-файла? А если прайс большой? У меня более 1000 строк? Или это все дело как-то кэшируется?

Николай Ланец

Илья, изучайте основы MODX, и чем отличается [[showXls?]] от [[!showXls?]].

Добавить комментарий

Снова используем OneDrive и Google Диск. Таблица внедряется на сайт через элемент <iframe>. Корректное отображение контейнера в <iframe> зависит от версии языка разметки вашей страницы — <!DOCTYPE>.

OneDrive — Microsoft

Заходим в OneDrive (требуется авторизация или регистрация). Добавляем файл электронной таблицы. Открываем.
Далее, Файл → Общий доступ → Внедрить.
Настройки и размер по вкусу. Копируем на выбор код внедрения или код JavaScript — вставляем в нужное место страницы.

таблица xls в сайт таблица xls в сайт

Пример.

Google Диск — Документы

Заходим в Google Диск (требуется авторизация или регистрация). Добавляем файл электронной таблицы. Открываем через Google Таблицы.
Далее, Файл → Опубликовать в Интернете → Встроить.
Копируем и вставляем код в нужное место страницы.

таблица xls в сайт

Пример.

При создании сайта очень часто происходит ситуация, когда необходимо вставить на страницу таблицу excel. Здесь важна не столько таблица, как дать возможность посетителям самим производить расчеты на сайта. Такая функция будет удобна для многих коммерческих сайтов, когда необходимо разместить калькулятор для клиентов. Именно поэтому, сегодня я расскажу, как вставить на сайт таблицу excel с возможностью редактирования. 

Какие таблицы можно вставлять на сайт 

Для примера я буду рассматривать сайт на WordPress, однако мой способ подойдет практически для любой CMS (таких как 1С-битрикс, ModXJoomlaOpenCart). Чтобы вставить на сайт простой калькулятор, можно установить плагин калькулятора (Calculated Fields Form и т.д.) либо воспользоваться сторонними сервисами для их создания. Создав калькулятор в таком сервисе, можно просто вставить его код на соответствующую страницу. 

Главным недостатком установки калькулятора на сайт является его ограниченный функционал. Как правило, можно вставить 2-3 переменных, которые вводятся пользователем, ответ подсчитывается по заранее установленной формуле. Например, я могу подсчитать количество обоев, требуемых в комнате, но не могу узнать количество разных обоев на всю квартиру. 

Для того, чтобы решить эту задачу, необходимо ввести множество переменных, для которых необходимо разрабатывать собственный скрипт. Отличным решением такой проблемы станет создание файлы excel, в котором можно рассчитать множество параметров, и с помощью формул подсчитать итоговое значение. Но при кажущейся легкости вопроса, можно столкнуться с целым рядом проблем.  

Как вставить таблицу для расчетов на сайт 

Если Вам необходимо вставить на сайт таблицу с возможностью правки со стороны пользователя, одним из самых оптимальных вариантов будет вставка таблицы excel. Данный вариант отлично подойдет как для крупных сайтов (расчёт сложных показателей), так и для небольших сайтов визиток. 

Вы можете вставить на сайт виджет таблицы Google Sheets, однако в настоящий момент ее нельзя править. С помощью специальных плагинов можно вывести вывод на сайт таблиц excel, однако обычный посетитель не сможет вносить в неё изменения.  

Диск OneDrive для создания файла Excel

Созданный диск OneDrive

Одним из лучших вариантов решения данного вопроса является вставка виджета таблицы excel из облака OneDrive. Благодаря этому способу пользователь сможет вносить правки в опубликованный файл, не изменяя исходный документ.  

Размещение на сайте документа Excel с возможностью изменения со стороны пользователя 

Чтобы разместить документ Excel в облаке OneDrive необходимо пройти регистрацию на сайте https://www.office.com/?ms.officeurl=webapps Регистрация предельно проста, необходимо указать свой e-mail и пароль, после этого сразу можно начинать пользоваться сервисом.  

Как вставить на сайт таблицу excel для редактирования пользователем

Создаем новый файл excel в облачном сервисе OneDrive

Далее заходим в облачный сервис OneDrive и авторизовываемся в нем с помощью полученного ранее логина и пароля. Вы попадете на страницу с названием “мои файлы”. Теперь можем приступать к созданию таблицы: 

  1. Нажимаем на кнопку “+ создать” и выбираем файл excel. 
  2. Если документ уже готов, то нажимаем на кнопку “добавить”. 
  3. В созданном или загруженном файле excel необходимо выбрать пункт “файл” и нажать на функцию “поделиться”.  
  4. В открывшемся окне выбираем функцию “внедрение” 
  5. Чтобы запустить работу с файлом, необходимо нажать на кнопку “создать”. 
  6. Вам откроется функционал по установке виджета Excel на сайт.  

внедрение таблицы excel на сайт

Чтобы начать установку виджета, необходимо выбрать «внедрение» в открывшемся окне

В открывшейся вкладке нам необходимо внести небольшие изменения, чтобы документ был доступен для редактирования посетителями сайта. В разделе взаимодействие ставим отметку напротив пункта “разрешить пользователям ввод данных в ячейку”. Теперь мы можем установить код HTML в нужное нам место (код находится в нижнем левом углу). Кроме того, здесь можно настроить еще несколько полезных функций: 

  • разрешить пользователю сортировать ячейки 
  • ограничить рабочую область (отлично подойдет для создания таблицы расчетов) 
  • выбрать оптимальные размеры виджета (помогает создавать красивые виджеты) 

настройка виджета excel для сайта

Окончательная настройка виджета excel для сайта. Обязательно поставьте флажок в функции редактирования пользователями

После завершения всех настроек необходимо проверить корректную работу таблицы на сайте. Теперь Вы знаете, как вставить на сайт таблицу excel с возможностью редактирования посетителями сайта. 

Пример редактируемой таблицы excel на сайте

Ячейки с данными можно редактировать.

29 августа 2018

Советы

Рассмотри как правильно вставить таблицу из экселевского файла (Microsoft Excel) на страницу сайта в текстовом редакторе системы управления сайтом TSAdmin.

Открываем сам Excel файл с таблицей. Видим примерно такое:

Обратите внимание! В данном варианте таблицы экселя нет выделенной рамки ячеек, просто текст в ячейках. Мы специально взяли такой вариант, чтобы показать все ньюансы.

Итак, выделяем необходимую область экселевского документа (таблицы):

На скриншоте выделенная область отмечена зеленой рамкой.

Будьте внимательны! Не выделяйте лишних пустых строк или столбцов, если не хотите чтобы они отображались на сайте!

Кликаем правой клавишей мыши, и в выпадающем списке выбираем «Копировать».

Переходим в систему управления сайтом ТСАдмин.

Находим необходимую страницу где должна быть размещена таблица и открываем ее для редактирования. 

В текстовом редакторе кликаем на иконку «Вставить из Word»:

Всплывает окно для вставки скопированного материала:

Вставляем в него скопированную таблицу из Excel. Выглядеть это будет примерно так:

Все хорошо. Жмем «Ок».

В текстом редакторе видим следующий результат:

Сохраняем кликнув «Сохранить» в правом верхнем углу.

В экселе не было обводки ячеек и таблица на сайте так же не содержит выделения.

Очистим таблицу от форматирования использовавшегося в Excel. 

Выделяем таблицу в текстовом редакторе.

Кликаем в текстовом редакторе по иконке «Убрать форматирование» (значок ластика):

Таблица «чиста». Сохраняем.

Перейдем к оформлению таблицы. Рассмотрим 2 варианта, попроще и посложнее, чтобы у вас был выбор. Оба варианта дадут один и тот же результат.

Вариант 1

В районе таблицы, в текстовом редакторе кликаем правой клавишей мыши и выбираем «Свойства таблицы».

Для того чтобы сделать границы таблицы видимыми, в поле «Границы» указываем толщину обводки. Ставим «1» что равно 1 пикселю.

Чтобы добавить отступ внутри ячеек от текста до границы, указываем внутренний отступ «10» (10 пикселей), или другой на ваше усмотрение:

Если нужно чтобы таблица растягивалась по ширине экрана от края до края, в поле «Ширина» указываем «100%» или просто оставляем это поле нетронутым:

Жмем «Ок» и затем «Сохранить».

В редакторе таблица должна иметь следующий вид:

Поздравляем, таблица из Excel успешно размещена на странице вашего сайта!

Вариант 2

Текстовой редактор переключаем на «Источник»:

Для добавления границы таблицы, находим в коде текст border=»0″, он располагается в самом начале :

Заменяем цифру «0» на единицу «1»:

Сохраняем кликнув «Сохранить» в правом верхнем углу.

У таблицы появляется рамка всех ячеек, полученный результат должен выглядеть примерно так:

Далее добавим отступы между текстом и рамкой ячеек.

Переключаем редактор на «Источник»:

Находим кусок кода отвечающий за этот параметр cellpadding=»0″:

Ноль значит что отступ равен нулю. Сделаем отступ 10 пикселей (или другое значение на ваше усмотрение). Меняем «0» на «10»:

Сохраняем кликнув на кнопку «Сохранить».

Проверяем полученный результат. Таблица получила отступы:

Поздравляем, таблица из Excel успешно размещена на странице вашего сайта!

Свежие публикации данной категории

16 просмотров этой страницы

импорт данных из excel файла

Одной из самых распространённых задач многих пользователей Excel является консолидация данных, которая заключается в том, чтобы собрать воедино информацию из разных источников. На реализацию данной потребности в Excel создано множество средств: от инструментов непосредственной консолидации до импорта данных, находящихся на других источниках. Частностью данной задачи может служить импорт данных с Excel книги, находящейся в сети интернет.

Недавно, одним из читателей сайта Exceltip.ru, Сергеем, был задан вопрос, который заставил задуматься. Вопрос звучал следующим образом:

A как сделать, чтобы на моем компьютере книга обновлялась на основании excel файла с какого-либо сайта?

Ответа на тот момент я не знал, но вопрос настолько заинтересовал меня, что мне самому захотелось разобраться. При попытке импорта данных стандартными инструментами, Excel не воспринимает URL адрес, указывающий путь к файлу в интернет. Решение было найдено, но у данного решения есть серьезное ограничение, необходимо, чтобы у пользователя, запрашиваемого данные, были права доступа к файловой системе сайта. Данный принцип заключается в следующем, зная логин и пароль доступа к директории хостинга, на котором находится сайт, подключаем сетевой диск, содержащий данные сайта (и excel книгу, данные из которой требуется импортировать, в том числе). Затем получаем данные этой книги, как будто Excel файл находится на нашем компьютере.

В сегодняшнем уроке мы будем импортировать данные с Excel файла, которые я предварительно разместил на своем хостинге, и который можно найти по адресу https://exceltip.ru/test/82-test-import.xlsx. Файл содержит небольшую выдуманную таблицу с двумя колонками.

импорт данных из excel книги

Итак, обо все по порядку…

Подключение сетевого диска

Открываем Проводник, переходим в директорию Компьютер. Windows отобразит все подключенные диски на данный момент: как физические, так и сетевые. В панели управления Проводника находим кнопку Подключить сетевой диск и жмем на нее.

подключить сетевой диск

Перед вами появится диалоговое окно Подключить сетевой диск, находим вкладку Подключение к сайту, на котором можно хранить документы и изображения и переходим по ней. Windows запустит мастер добавления сетевого размещения. На первом шаге будет дано описание процесса, щелкаем Далее. В следующем окне на вопрос Укажите, где вы хотите создать сетевое размещение, выделите Выберите другое сетевое размещение и щелкните Далее. На третьем шаге нам будет предложено указать адрес FTP-сайта. Так как я пользуюсь услугами хостинга Timeweb (не реклама!)), мой FTP выглядит следующим образом: ftp://fabula.timeweb.ru. Щелкаем Далее.

Расположение сайта

В следующем окне нам необходимо будет указать название подключения, именно это название будет отображаться в окне проводника как сетевое подключение. В этом же окне снимаем галочку Анонимный вход и, в появившемся поле Пользователь, указываем логин, используемый для входа на хостинг.

После щелчка Далее, попадаем на завершающее окно мастера Подключения сетевого размещения, где можно увидеть итоговую информацию. Щелкаем Готово, Windows попросит нас ввести пароль для входа на FTP-сервер, вводим его и жмем Вход.

вход на ftp сервер

В окне Проводника наряду с физическими дисками вы увидите новый сетевой диск, который мы назвали exceltip. Перейдя в директорию сайта, увидим файл, который мы разместили для импорта.

новый сетевой диск

Следующий шаг — импорт данных. Для этого я воспользовался функционалом PowerPivot для Excel, о котором вы можете узнать в моих предыдущих статьях. Открываем книгу, куда мы планируем импортировать данные, переходим на вкладку PowerPivot и щелкаем по кнопке Окно PowerPivot.

импорт данных из excel

В появившемся диалоговом окне PowerPivot для Excel переходим по вкладке В начало в группу Получение внешних данных. Выбираем Из других источников –> Файл Excel -> ОК.

Появится Мастер импорта таблиц, где необходимо будет указать местоположение импортируемого файла. Для этого щелкаем кнопку Обзор и выбираем необходимый файл из сетевой директории, которую мы ранее добавили. Жмем Далее.

мастер импорта таблиц

Здесь PowerPivot отобразит все таблицы (листы), которые он нашел в нашем файле. Выбираем необходимый лист, щелкаем Далее. Мастер импорта укажет статус выгрузки и количество строк, которое удалось передать. Жмем Закрыть.

мастер импорта таблиц

В окне PowerPivot для Excel появится таблица с импортированными данными, которые уже можно использовать в своих целях.

таблица с данными poverpivot

Сегодня мы рассмотрели вопрос импорта данных с Excel файла, находящихся на веб сайте. Метод, описанный выше, подходит только для тех, кто имеет доступ к директории сайта, на котором находится требуемый файл. Наверняка, существуют и другие способы импорта данных, если у вас есть интересные методики, не стесняйтесь, описывайте их, наиболее занимательные я опубликую на сайте.

Понравилась статья? Поделить с друзьями:
  • Как найти excel на макбуке
  • Как найти excel на mac
  • Как найти excel в открыть с помощью
  • Как найти enter в word
  • Как найти enter в excel