Написание веб-приложения в Excel? Почему бы и нет? - PullRequest
10 голосов
/ 30 июня 2009

Прежде чем вы начнете гореть, я скажу вам, что пытаюсь убедить себя, что это плохая идея.

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

Я подумал, почему Excel не лучший инструмент в этом случае? Он имеет все инструменты, которые есть в приложении web2.0 (сценарии, доступ к БД, базовое форматирование), и предназначен для учета. Вы можете в основном использовать Excel для написания программы, которая извлекает данные из базы данных SQL, заполняет некоторые ячейки и использует формулы для остального.

Есть ли прецедент использования Excel, поскольку можно было бы использовать браузер для создания приложения ajax-y web2?

Почему это плохая идея?

Обновление: просто чтобы прояснить, я имел в виду, что это скорее «риторическая» дискуссия. Я не уверен, почему остальная часть сообщения не прояснила это ...

Ответы [ 11 ]

12 голосов
/ 30 июня 2009

После многих лет программирования в Excel-VBA, лучший ответ, который я могу вам дать, если вы этого не сделаете:

Excel-VBA глючит! Это, пожалуй, самое полнофункциональное приложение, созданное Microsoft. Это отлично подходит для некоторых задач, но принуждение к выполнению работы, для которой оно никогда не предназначалось, приведет к неприятностям.

У меня есть несколько электронных таблиц, которые делают подобные вещи (вещи, которые Билл никогда не намеревался), и без исключения они колеблются на грани провала и имеют тенденцию падать только при малейшей провокации.

Конечно, вы можете сделать это, но головная боль не стоит этого.

12 голосов
/ 30 июня 2009

Ну, если бы вы сделали это в Excel, то это не было бы действительно веб-приложение. Это было бы приложение Excel.

Не то чтобы это плохо. Если имеет смысл создать приложение в Excel, тогда сделайте это.

Проблемы, с которыми вы будете сталкиваться в Excel, будут такими же, как проблемы, с которыми вы столкнетесь в любом настольном или веб-приложении. Например, как вы справляетесь с развертыванием новых версий приложения? Как вы справляетесь с обновлением приложения для новых (или более старых) версий Excel? и т.д.

ETA:

Если вы хотите избежать сбоев в работе Excel VBA и головной боли при управлении настольным приложением, вы можете обратиться к API таблиц Google . Вы можете использовать его для создания / обновления электронных таблиц Документов Google на лету, включая формулы и многое другое. Использование гибридного веб-приложения и таблиц Google может дать вам лучшее из обоих миров, в зависимости от того, что именно вам нужно делать.

3 голосов
/ 30 июня 2009

Excel не предназначен для такого использования, поэтому будет больно.

Две лучшие идеи для интеграции веб-таблиц:

  • Взгляните на Resolver One , программируемую Excel-совместимую электронную таблицу со встроенным веб-сервером.
  • Используйте Google Docs электронные таблицы. Существует API для программного взаимодействия с ними.
2 голосов
/ 30 июня 2009

Это неплохая идея, но она имеет некоторые ограничения. Если развертывание не является проблемой для вас, и вам не нужен «универсальный» доступ к приложению, ваше решение, скорее всего, сэкономит вам время. Веб-приложение, безусловно, будет более элегантным подходом, особенно если вы хотите сделать программное обеспечение общедоступным.

1 голос
/ 30 июня 2009

Я думаю, что использовать Excel в качестве браузера - плохая идея, однако я считаю, что лучше использовать Excel Control в настольном приложении.

Таким образом, вы можете контролировать sql и соединения. Вы можете сохранять данные так часто, как вам нравится. Вы также можете реализовать некоторый механизм обновления. Приложение будет более безопасным и сложнее взломать.

Я думаю, что Excel зависает, когда вы пытаетесь подключиться к какому-либо внешнему ресурсу, и таким образом вы управляете всем.

1 голос
/ 30 июня 2009

+ 1 всем, кто сказал: «Приложение Excel - это не веб-приложение».

НО ... Если вы хотите использовать метафору электронной таблицы для расчетов на стороне сервера для веб-приложения или если вы хотите получить доступ к библиотеке финансовых функций, поставляемых с Excel, из кода на стороне сервера, вы можете использовать 1003 * Службы Excel . Он доступен через SOAP, может взаимодействовать, вызываться с любой платформы, поддерживающей SOAP.

Он поддерживает сервер. На самом деле он загружает Excel не на сервер, а во время выполнения функций без графического интерфейса.

1 голос
/ 30 июня 2009

Итак, операторы SQL будут на клиенте? Это редко хорошая идея.

1 голос
/ 30 июня 2009

Ну, вы собираетесь запустить его на стороне сервера, вы, вероятно, столкнетесь с проблемами лицензирования и производительности.

Если вы доставляете .xls клиенту, вам нужно, чтобы все ваши клиенты имели Excel или что-то совместимое. Но вы также теряете контроль над своим «сайтом» - какой смысл заходить, если у вас есть все, что вам нужно локально?

1 голос
/ 30 июня 2009

Это плохая идея по той же причине, что написание графического редактора с MS Access - это плохо, или кодирование MMORPG с помощью Powerpoint - плохо:)

Я бы также сказал, что как только вы перестаете использовать браузер в качестве клиента, он перестает быть «веб-приложением» - вы на самом деле просто говорите о листе Excel, который извлекает свои данные через HTTP.

1 голос
/ 30 июня 2009

Сеть изначально основана на HTML и дополнена базами данных, CSS и серверными языками, а также JavaScript (возможно, другими). Как и в большинстве случаев, вы должны использовать правильный инструмент для работы. Если вы хотите веб-сайт, то вы должны использовать инструменты для создания веб-сайта.

Excel не предназначен для создания веб-сайтов, поэтому принуждение к этому может привести к большему разочарованию, чем к счастью.

...