Лучший способ подключения электронной таблицы к веб-базе данных

StackOverflow https://stackoverflow.com/questions/4235881

Вопрос

Я использую веб-базу данных, для которой мне нужно добавить возможности электронных таблиц к его передней части. Я думал, что могу использовать электронные таблицы Google Docs. Их скрипт приложений Google, похоже, имеет функционально, что мне нужно. В частности, я могу использовать сервис URLFetch, в сочетании с OneDit Events, чтобы сохранить электронную таблицу и БД в синхронизации - стиль AJAX. Это также позволяет мне большую гибкость в построении, сохранении и разделения электронных таблиц

Однако некоторые вещи о скрипте приложений Google дали мне паузу. Он управляет стороной сервера, поэтому трудно отлаживать локально. У него нет какого-либо отладчика с точками останова или шага. Он не может импортировать внешние модули или библиотеки. Нет jslint. Без этого я начал получать это «э-э, ой, это будет навредить» чувству.

Поэтому мне интересно, есть ли лучший способ болта в браузере доступных функциональных таблиц электронной таблицы к существующей веб-базе данных? Или есть ли лучшие практики для получения максимального выхода из скрипта приложений Google?

Редактировать: Это потенциальные решения в порядке того, что было бы лучшее для моего приложения:

  1. Браузер на основе JavaScript Spreadshient Engine. (Может не существовать.)
  2. Модуль двигателя Engine Engine Python Spreadsheet, который я могу установить на приложении Google App. (Я тоже этого не видел.)
  3. Более крепкий и аджаксианский подход к Google электронные таблицы. (См. Оригинальный вопрос.)
  4. Двигатели электронных таблиц с открытым исходным кодом, которые я могу установить на EC2. (Это, кажется, существуют - возможно SocialCalc., или Простая электронная таблица. Отказ Рекомендации?)
Это было полезно?

Решение

Мы используем функциональность электронной таблицы на веб-странице, а не в том, что, а не сценарируют все функции электронной таблицы, мы используем Расчет двигателя Что дает нам программное сердце функциональности электронной таблицы. Двигатель расчета знает, как рассчитать сотни типов формул, обрабатывать зависимости (и порядок между зависимостями), форматирование клеток и т. Д. В моем конкретном случае мы используем Spreadsheet - http://www.spreadsheetgear.com/products/spreadsheetgear.net.aspx.

Мы создаем HTML-представление электронной таблицы с ячейкой навигацией и различными другими функциями с использованием некоторого JavaScript. Когда нам нужен лист для пересчета (например, F9 в Excel), мы отправляем всю электронную таблицу на сервер, попросите его рассчитать все, а затем пополнять представление веб-страницы с результатами. Это может также написать в базу данных в зависимости от того, что находится на электронной таблице.

Возможно, мне нужен ваш вклад в этот момент, чтобы увидеть, если мой ответ не слишком далеко от трека.

Другие советы

База данных Web на основе электронной таблицы? Звучит как Рагу.

И вы сказали, что вам нужно разработать свою собственную бэкэнду, я думаю, вы можете использовать их HTTP API, чтобы опубликовать данные в Ragic, и у пользователя используйте интерфейс электронной таблицы, когда используете API для синхронизации ваших данных.

Поэтому я сам копал это, и это немного повредило. Вот специфики:

Плохо:

  1. Вы должны использовать их редактор, без jslint.
  2. Нет отладчика. Сценарии запускают Server Side, поэтому Firebug и другие инструменты браузера являются нулевой помощью. «Взгляд-> Transcrience Transcript» и «View-> logs» - это небольшая помощь. Но они не функционируют в событиях «OneDit».
  3. Соединение к сети проходит через их URLFetch Service, которая не имеет асинхронного режима. И вообще не работает в событиях «OneDit»: http://code.google.com/p/google-apps-scriptsiSsuesues/issues/detail?id=185.
  4. Они в основном имеют три типа событий. «Разгрузка», «ОНИЙНСТАЛЬ» и «OneDit». В частности, я плохо пропустил событие «OnClick».
  5. Нет поддержки внешней библиотеки.

Хорошо:

  1. Это настоящий JavaScript, поэтому он функционирует предсказуемо, и я могу использовать внешний инструмент jslint.
  2. Мелкая кривая обучения. Понимание листов, диапазонов и заданных ценностей являются ключевые концепции.
  3. Многие функциональные возможности для манипулирования элементами электронных таблиц, форматирование и т. Д.
  4. Поддержка API Google Data? Я не использовал это, но он выглядит как путь, чтобы пойти на соответствие на внешние веб-ресурсы.
  5. Хорошо интегрированные, сценарии обновления на моей электронной таблице сразу видны для других, просматривая электронную таблицу.

В целом эта среда имеет тонну потенциала, с множеством возможностей пользовательского интерфейса, но все равно, кажется, пропускают в некоторых ключевых функционантах для выполнения реального развития производства.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top