Pull to refresh

Comments 29

UFO just landed and posted this here
20+ не работающих форков меня не впечатлили. Впрочем тема xls благостна для холиваров.
Сегодня я опишу довольно тривиальную, но ни где не освященную тему

<humor>Освящать что бы то ни было — это прерогатива церкви. </humor>
процесс не описан ни где в полной мере и так приступим
Вообще об ошибках/опечатках принято в личку писать, но тут автор постарался на славу: вся статья является примером абсолютной безграмотности. Но главное в заключении:
Если понравилась статья, могу ответить в комменты после получения приглашения
Нет.
1. Хабр — это не Gist, для статьи недостаточно выложить кусок кода со словами «ну вот, пользуйтесь». Нужны комменты, объяснение принципа работы, пример.

2. Я бы подумал, что русский язык для автора не родной. Особенно плохо с пунктуацией. Перед публикацией статью желательно прогонять хотя бы через Word, а еще лучше — дать на вычитку знакомым.
Судя по таким вот
типа статьям
видимо она прекратила свое существование.
Вы поклонник написания 100% неповторяемого кода?
Код подходил под задачу, был добавлен код сохранения с именем файла, написаны заметки по оформлению. Или вы «Правообладатель»?

PS и этот кусок кода отлично подходил для демонстрации принципа работы.
habrahabr.ru/info/help/rules
Заниматься копипастом и кросспостом
Мы всячески приветствуем интересный и полезный сообществу контент, но только если он оригинальный. Поэтому не следует копипастить на «Хабр» тексты, которые ранее были опубликованы на других ресурсах (даже если вы — автор такого текста).
Немного оффтоп: xls — зло. Еще большее зло, что эти форматы (xls, doc и другие) до сих пор стандарт де-факто много где. Старый, проприентарный, бинарный. MS Office Open XML (docx, xlsx, ...) и OpenDocument поддерживаются куда лучше большим количеством современных офисных пакетов.
Зло он конечно зло, но легаси код и миллионы установок играют свою роль.
У меня стоит и MS и Libre я чаще использую MS, и только в одном случае использую Calc, когда нужно работать с utf-8 в CSV.
Отдельный разговор бухгалтерия и всякие контролирующие органы, там засилье MS

А TableExport вы смотрели? Возможно у меня чересчур тривиальные случаи, но с особыми проблемами не сталкивался.
Отличная штука, надо попробовать
А вот мне пришлось выгружать данные на стороне ноды, со стилями
в итоге, забил на стили и просто выгружаю, с модулем xlsx
Правда при этом сервер потихоньку течет, не знаю почему…
Хотелось бы услышать, генерировал эксельку с:
1) форматированием — даже банальный перенос строки в ячейке
2) комментарии к ячейкам
Если имеется Windows-машина с установленным Офисом, то на ней можно организовать простенький http-сервис, хоть на Node.js, хоть на Go, принимающий на вход данные и, посредством хоть Windows Script Host, дергать интерфейсы Офиса и выдавать уже готовое в любом нужном формате.

Ну зачем windows. На vds можно использовать какой нибудь LibreOffice, который умеет headless.

к сожалению, у нас только линукс серверы
На сервере как раз намного проще. От предложенного Libre до вполне зрелых решений на PHP и Яве. В случае с сервером есть и еще одно преимущество у вас уже сформирован набор данных, а как его отдать клиенту это вопрос 10й.

К этим пунктом хотелось бы приплюсовать размещение картинок в генерируемом файле.

Как-то приходилось делать подобное для выгрузки из ExtJS в Excel. Сразу отмечу, что к JS/PHP/HTML я имею самое поверхностное отношение:
// Функция экспорта в Excel с панели табуляции
function storeToExcel() {
    var aTab = tabPanel.getActiveTab( );
    var aStore = aTab.getStore();  
    Ext.Ajax.request({
        url: 'exportToExcel.php',
        jsonData: Ext.encode(Ext.pluck(aStore.data.items, 'data')),
        success : function(response) {
            if(response.responseText) {
                window.open("export/" + response.responseText);
            } else {
                Ext.Msg.alert('Уведомление', 'Ошибка экспорта');
            }
        }
    });
}


А сам exportToExcel.php был максимально простой и использовал готовую библиотеку PHPExcel.
Возможно кому-то такой способ подойдет.
По моему мнению, это наиболее правильный путь. Серверные компоненты отлично справляются. Но это особенности именно моего проекта.
UFO just landed and posted this here
Sign up to leave a comment.

Articles