Простая конвертация xls в html


Задачка нарисовалась — из 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 сработает)

P.S.

Раз уж поставил метку «полезняшки» — посоветую полезную для верстки мини-прогу ColorSpy.

Прога работает как «пипетка» в графических редакторах, но прямо в винде — вытаскивает RGB код цвета любого участка рабочего стола.


14 комментариев на «“Простая конвертация xls в html”»

  1. Вар 1. Save as — Web Page (получаем HTML на выходе).
    Вар 2. Экспорт в текстовый файл. И затем собственный конвертор в HTML.

  2. про 1й вариант я написал — там код получается такой, что проще руками сделать всю табличку, чем его переделывать
    2й вариант конечно присутствует — тоже хотел про него запостить — но имхо это не простой метод 🙂

  3. Угу. Добавь еще table и /table в отдельные ячеки и приклеивай их =)
    Вот когда из пдф-а руками таблицу в эксель перекидываешь — вот это настоящий гемор. Если целиком скопировать попытаешься, то обязательно что-нить слетит и тп, так что по столбикам. А еще в таблицах попадались значения аля: 32х45 — которые надо было на 2 ячейки разбивать. Сначала трахался с if-ами, потом пришел к более простому варианту: блокнот «bred». Там можно в окошко на что заменять таб или ентер пихнуть 🙂

    А вообще экспорт из экселя реализуется в две строки. Сначала экселевский файл сейвиш как csv (откроешь из блокнота и поймешь фишку), а дальше:
    $a=file(‘exel.csv’);
    for($i=0;$i<sizeof($a);$i++) $b[$i]=explode(‘;’,$a);

    $b — выходной массив

  4. Такое простое решение, как я не додумался)))
    В своё время писал программу, через OLE-объекты взаимодействующую с excel-файлом и генерирующую выходные файлы, а всего-то и стоило сцепить….)

  5. ох.. очень большое спасибо 🙂 по работе часто приходиться таскать таблички из «проклятого» екселя. О таком простом решении даже не догадивался 🙂 немного доработал и теперь получаеться таблица сразу с нужной мне разметкой и стилем, если интересуетесь — могу скинуть конечный результат

  6. Самое обсуждаемое на блогах:
    Самоубийство Дэвида Кэррадайна
    Рок-музыкант Жан Сагадеев покончил с собой
    Слухи о ртутном облаке

  7. Я не разбираюсь в Excel, совсем! Помогите плиз…

    Это куда нужно вносить?
    $a=file(‘exel.csv’);

    for($i=0;$i<sizeof($a);$i++) $b[$i]=explode(';',$a);

    $b — выходной массив

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *