Задачка нарисовалась — из xls файлика перетащить таблицу в CMS-ку (как оказалось не тривиальная).
Из EXEL-а экспорт в html даёт просто безобразный код с кучей лишнего и абсолютно ненужного форматирования. Копипаст в редактор — тоже самое.
Руками делать — не вариант 🙂
Немного погуглив всё же нашел IMHO красивый вариантик (на сеарчэнжине)
Допустим в ячейках A1, B1, C1, D1 находятся данные которые нужно экспортировать.
В результирующей ячейке (напр. F1) вводим формулу
=СЦЕПИТЬ(«<tr>»;»<td>»;A1;»</td>»;»<td>»;B1;»</td>»;»<td>»;C1;»</td>»;»<td>»;D1;»</td>»;»</tr>»)
После чего выделяем ячейку с введенной формулой и протаскиваем её на все строки — полученное копируем и вставляем в html редактор.
Конечно теги <table></table> дописываем в ручную.
После чего доводим до ума табличку уже в редакторе.
Для LibreOffice Calc используем символ конкатенации — амперсанд & (может и в Excel сработает)
1 |
=«<tr><td>»&B6&«</td><td>»&C6&«</td><td>»&D6&«</td><td>»&E6&«</td><td>»&F6&«</td><td>»&G6&«</td></tr>» |
P.S.
Раз уж поставил метку «полезняшки» — посоветую полезную для верстки мини-прогу ColorSpy.
Прога работает как «пипетка» в графических редакторах, но прямо в винде — вытаскивает RGB код цвета любого участка рабочего стола.
14 комментариев на «“Простая конвертация xls в html”»
Вар 1. Save as — Web Page (получаем HTML на выходе).
Вар 2. Экспорт в текстовый файл. И затем собственный конвертор в HTML.
про 1й вариант я написал — там код получается такой, что проще руками сделать всю табличку, чем его переделывать
2й вариант конечно присутствует — тоже хотел про него запостить — но имхо это не простой метод 🙂
Угу. Добавь еще table и /table в отдельные ячеки и приклеивай их =)
Вот когда из пдф-а руками таблицу в эксель перекидываешь — вот это настоящий гемор. Если целиком скопировать попытаешься, то обязательно что-нить слетит и тп, так что по столбикам. А еще в таблицах попадались значения аля: 32х45 — которые надо было на 2 ячейки разбивать. Сначала трахался с if-ами, потом пришел к более простому варианту: блокнот «bred». Там можно в окошко на что заменять таб или ентер пихнуть 🙂
А вообще экспорт из экселя реализуется в две строки. Сначала экселевский файл сейвиш как csv (откроешь из блокнота и поймешь фишку), а дальше:
$a=file(‘exel.csv’);
for($i=0;$i<sizeof($a);$i++) $b[$i]=explode(‘;’,$a);
$b — выходной массив
Такое простое решение, как я не додумался)))
В своё время писал программу, через OLE-объекты взаимодействующую с excel-файлом и генерирующую выходные файлы, а всего-то и стоило сцепить….)
Отличное решение! До этого у меня никак не получалось осуществить подобное! Теперь получилось!
ох.. очень большое спасибо 🙂 по работе часто приходиться таскать таблички из «проклятого» екселя. О таком простом решении даже не догадивался 🙂 немного доработал и теперь получаеться таблица сразу с нужной мне разметкой и стилем, если интересуетесь — могу скинуть конечный результат
Спасибо,за код,а то ручками замучился таскать
Кирюха базарный — а ведь дело говоришь! Работает твой код — респектище чувак!
Неплохо придумал. Уже опробывал, молодец что до такого додумался.
Самое обсуждаемое на блогах:
Самоубийство Дэвида Кэррадайна
Рок-музыкант Жан Сагадеев покончил с собой
Слухи о ртутном облаке
Спасибо!!! Работает!!!
Я не разбираюсь в Excel, совсем! Помогите плиз…
Это куда нужно вносить?
$a=file(‘exel.csv’);
for($i=0;$i<sizeof($a);$i++) $b[$i]=explode(';',$a);
$b — выходной массив
О, спасибо )) Работает )
Гениально! =)