Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как создать книгу Excel при помощи JavaScript? / 17 сообщений из 17, страница 1 из 1
29.03.2021, 12:21
    #40057738
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
Здравствуйте.

Мне нужно в JavaScript создать книгу Excel и на листе
вписать в ячейку форматированное значение. К примеру красным толстым шрифтом.

Перелопатил кучу инфы, везде экспорт в CSV или сохранение в простейшем не форматированном формате.
Такое вообще возможно сделать в JavaScript?
...
Рейтинг: 0 / 0
29.03.2021, 13:31
    #40057756
boltachev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
Может, на сервере лучше создать?
На python можно pandas использовать, например.

Может ли вообще JS сохранить файл на диск?
...
Рейтинг: 0 / 0
29.03.2021, 13:43
    #40057763
DHDD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
MAULER,

https://jsfiddle.net/jru7phd3/

Синтаксис как в Excel (формулы начинаются с "=")
Поддерживаются произвольные приложения (=A1+B2*C3)
Обнаруживаются циклические ссылки

Кода мало:
40 строк CSS
30 строк JS
...
Рейтинг: 0 / 0
29.03.2021, 13:48
    #40057766
DHDD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
Код: javascript
1.
2.
document.querySelector('#A3').style.color='red';
document.querySelector('#A3').style.fontWeight='bold';
...
Рейтинг: 0 / 0
29.03.2021, 13:51
    #40057767
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
DHDD,

спасибо за ответ! Но мне нужен чистый Excel чтобы потом люди могли его редактировать/передавать/открывать.
...
Рейтинг: 0 / 0
29.03.2021, 13:53
    #40057768
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
boltachev
Может, на сервере лучше создать?
На python можно pandas использовать, например.

Может ли вообще JS сохранить файл на диск?

может, но проблема в том, что из всех примеров в сети, что мне удалось найти - сохраняется CSV файл. Который мне ни к чему.
...
Рейтинг: 0 / 0
29.03.2021, 13:57
    #40057770
boltachev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?


а вы можете файл из local storage скопировать? или это exel-подобная html-форма?
...
Рейтинг: 0 / 0
29.03.2021, 14:08
    #40057780
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
boltachev


а вы можете файл из local storage скопировать? или это exel-подобная html-форма?

У меня есть HTML табличка с форматированием, мне надо из неё сделать excel-файл. собственно задумка в этом.
...
Рейтинг: 0 / 0
29.03.2021, 14:10
    #40057781
boltachev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
Можно попробовать сделать форматирование в .xlsx файле, дополнить его макросом, если нужно, и привязать к нему скачаный csv как источник данных.
...
Рейтинг: 0 / 0
29.03.2021, 14:27
    #40057794
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
boltachev,
т.е. мне где-то держать отформатированную эксэльку с привязанным источником данных в виде ещё не сгенеренного .csv-файла?
Вы это имеете ввиду?
...
Рейтинг: 0 / 0
29.03.2021, 14:35
    #40057802
boltachev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
Да, держать как шаблон. Можно туда вписать макрос, чтоб "сохранять как" .xlsx копию файла с данными, чтоб было не 2 файла (.csv + .xlsx) а один, заполненый и с форматированием.
...
Рейтинг: 0 / 0
29.03.2021, 15:07
    #40057814
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
boltachev,

мда, я почему то думал уже научились в 21 веке такие вещи делать. А тут костыль на костыле ))
либо я что-то в корне делаю неправильно. Ведь куда не посмотри, кругом экспорт/импорт из/в excel
что может быть безобиднее чем выгрузка HTML в excel на пк с excel? Или это вообще на backend-е делается?
...
Рейтинг: 0 / 0
31.03.2021, 12:59
    #40058472
monstrU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
MAULER
boltachev,

мда, я почему то думал уже научились в 21 веке такие вещи делать. А тут костыль на костыле ))
либо я что-то в корне делаю неправильно. Ведь куда не посмотри, кругом экспорт/импорт из/в excel
что может быть безобиднее чем выгрузка HTML в excel на пк с excel? Или это вообще на backend-е делается?

полностью неверное у тебя представление. в вебе ни к чему держать на страничке ексел файл и его на ней редактировать. да еще так чтобы разные люди его видели.
или google docs пользуйтесь или свою задачу целиком озвуч
...
Рейтинг: 0 / 0
01.04.2021, 07:24
    #40058748
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
monstrU
MAULER
boltachev,

мда, я почему то думал уже научились в 21 веке такие вещи делать. А тут костыль на костыле ))
либо я что-то в корне делаю неправильно. Ведь куда не посмотри, кругом экспорт/импорт из/в excel
что может быть безобиднее чем выгрузка HTML в excel на пк с excel? Или это вообще на backend-е делается?

полностью неверное у тебя представление. в вебе ни к чему держать на страничке ексел файл и его на ней редактировать. да еще так чтобы разные люди его видели.
или google docs пользуйтесь или свою задачу целиком озвуч


Боюсь, что ты меня не верно понял. У меня нет никакой таблицы Excel на web-странице. Она там не нужна.
Но нужно, чтобы у пользователя была возможность по клику на кнопке, сохранить HTML-страницу (или другие данные) в Excel-таблицу, которая сохранится на диске пользовательского компьютера там, где укажет пользователь через FileSaver диалог.

В общем и целом я проблему решил. Через использование exceljs. Эта штука распространяется через github и устанавливается как npm-пакет, через npm install.

Фикус в том, что её использование предполагается на серверной стороне, но если в своём js-файле прописать правильный путь, то часть её функционала может работать и на клиенте. Чего мне и хватило.
...
Рейтинг: 0 / 0
01.04.2021, 09:35
    #40058768
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
MAULER
что может быть безобиднее чем выгрузка HTML в excel на пк с excel?

tsv. Excel - говноформат.
...
Рейтинг: 0 / 0
02.04.2021, 15:29
    #40059138
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
crutchmaster
MAULER
что может быть безобиднее чем выгрузка HTML в excel на пк с excel?

tsv. Excel - говноформат.


ну а как красить ячейки? Элементарное форматирование сделать?
...
Рейтинг: 0 / 0
05.04.2021, 04:38
    #40059610
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать книгу Excel при помощи JavaScript?
MAULER
ну а как красить ячейки? Элементарное форматирование сделать?

Тебе его печатать/смотреть или дальше кто-то будет работать с ним? Если печатать - то пдф, если смотреть, то надо делать под это фронт. Если работать, то клиенту надо делать какую-то свою приблуду и забирать tsv. Если клиент принципиально страдает хернёй, то да, приделывать excel. Но это - последний случай, а не "что может быть безобиднее".
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как создать книгу Excel при помощи JavaScript? / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]