Создание excel средствами только javascript
Подскажите пожалуйста, возможно ли создать excel документ (или CSV) средствами только javascript, без использования сервера?
А теперь чуть подробнее: На странице средствами javascript создаётся таблица, вот её и надо сохранить в excel, но ввиду ограниченности возможностей сервера, что - либо делать через него не могу. Через ActiveX тоже не вариант. P.S. Вообще представлял себе это, как генерацию некоторого виртуального файла (по сути массив байт) с последующей передачей браузеру для работы, как если бы происходило обычное скачивание файл. |
<script> var csv = '1; foo\n2; bar\n3; русский'; var name = 'filename'; document.write( '<a href="data:text/csv;charset=utf-8,', encodeURIComponent('\ufeff' + csv), //utf8 bom(чтоб эксель понял кодировку) + строка '" download="' + name + '.csv">' + name + '</a>'); </script>В простом случае примерно так. Если файл очень большой - смотреть в сторону Blob. Если нужен IE - base64, а для старых и ActiveX. Если надо можно и полноценный excel файл сделать, только весь формат вручную собирать придётся(хотя мож уже и есть какя библиотека на просторах тырнета). |
В рамках HTML5 можно хранить в локальном хранилище:
var csv = [[1,2,3],[4,5,6],[7,8,9]] //сохранить в хранилище localStorage.csv = JSON.stringify(csv); //получить из хранилища b = JSON.parse(localStorage.csv) alert(JSON.stringify(b)) Для браузеров не поддерживающих локальное хранилище можно в cookie записать, но с ограничением по размеру. А чем ограничен сервер в возможностях? |
Часовой пояс GMT +3, время: 19:11. |