2013-03-03 5 views
0

У меня есть требование в моем веб-приложении, где я должен экспортировать данные в таблицу html в файл csv. Таблица данных html записывается с использованием плагина Datatables.Экспорт в CSV в Javascript

Для приведенной выше таблицы данных имеется Table Tools, который экспортирует CSV, PDF, XLS на стороне клиента. Недостатком является то, что в приведенном выше плагине используется вспышка, которая не является подходящим решением.

Я также смотрел на альтернативной основе чистой стороне клиента Javascript решения here

Это не похоже на работу, а также я не в состоянии указать имя файла.

На поисковых форумах я узнал, что в чистом javascript я не смогу создать файл и назвать его. (Я предполагаю, что файловая система API в HTML5 может решить эту проблему, когда все браузеры эволюционировать/принимать стандарты HTML5)

Учитывая эту ситуацию, мне было интересно, если следующее possiible:

  1. данные, которые будут экспортированы готовы на моя клиентская сторона
  2. Могу ли я сделать ajax-вызов на моем сервере, чтобы получить пустой файл csv и управлять им на стороне клиента и добавить его с данными, которые у меня есть на моей стороне клиента?

Помимо предлагаемого решения и подхода на стороне сервера, существуют ли какие-либо другие решения?

ответ

0

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

С помощью параметров GET вы можете избежать изменения структуры содержимого (т. Е. Не требуется форма и входные данные) и перейти на скрипт сериализации pure-javascript , который будет вызывать ваш генератор csv.

Кстати, Flash и HTML5 являются единственным доступным решением, если вы действительно не хотите испортить серверную сторону.