2013-05-09 6 views
0

Эй, относящиеся к вашему ответу на Can I write files with HTML5/JS?Javascript Запись в формате PDF или Excel

Как бы я изменить это для скажем Excel или PDF. Я попытался, но не смог заставить его работать. Я получаю поврежденный файл, загружаемый при изменении MIME на приложение/pdf

Я пытаюсь связать его с данными, хранящимися в localstorage, которые у меня есть в переменной.

Мой текущий код:

function setSaveFile(contents, file_name, mime_type) { 

    var a = document.getElementById('save'); 
    mime_type = mime_type || 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; // text/html, image/png, et c 
    if (file_name) a.setAttribute('Log.xls', file_name); 
    a.href = 'data:'+ mime_type +';base64,'+ btoa(contents || 'Description' + ' ' + 'Notes' + ' ' + 'Date\n\n' + pdftimeLog); 
} 

Я хочу, чтобы иметь возможность экспортировать его в CSV с каждой из этих рубрик: дата, описание, примечания в разных клетках. Я хочу, чтобы это было удобно для мобильных устройств. Спасибо

+0

Можете ли вы опубликовать код для того, что вы пробовали до сих пор? – jszumski

ответ

0

Чтобы файл был действительным pdf или excelfile, их содержимое должно соответствовать стандарту, который определяет соответствующий формат, просто изменение mimetypes не принесет много пользы.

Для PDF есть библиотека jspdf, которая может сработать для вас.

Я еще не видел решения для Excel, это будет намного сложнее, так как формат файла (xls) довольно сложный, на данный момент, вероятно, предпочтительнее генерировать файл на сервере.

+1

Если вам нужно только открыть его в виде листа с расширенными данными, вы также можете создать файл * .csv, файл с разделителями-запятыми. –

+0

Если я выберу CSV, как это работает. В настоящее время я храню данные в localstorage. Я хочу сделать так, чтобы эти данные могли экспортироваться и отправляться по электронной почте пользователями, и я полагаю, что csv будет делать. Программное обеспечение предназначено для мобильного использования, поэтому скачивание не является вариантом. благодаря – AK7

0

В качестве альтернативы CSV также можно написать файл Excel, написав HTML-файл с расширением .xls. Excel открывает его на основе расширения. Еще не исследовали, насколько глубоко он может разбиваться на страницы, форматировать.

Смежные вопросы