Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

ETA:

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

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

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

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

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

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

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

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

  • Взгляните на Распознаватель Один, программируемая электронная таблица, совместимая с Excel, со встроенным веб-сервером.
  • Использование Документы Google электронные таблицы.Есть API - интерфейс программно взаимодействовать с ними.

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

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

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

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

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

Итак, инструкции SQL будут находиться на клиенте?Это редко бывает хорошей идеей.

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

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

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

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

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

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

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

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

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

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