Pergunta

Antes de começar a flamejante, eu vou te dizer que eu estou tentando me convencer de que esta é uma má idéia.

Basicamente, eu estou tentando criar um site com algumas funções básicas de contabilidade. Meu amigo, um consultor que só sabe excel, perguntou se isso poderia ser uma planilha do Excel em vez de uma interface web.

Eu me peguei pensando, por que é excel não a melhor ferramenta neste caso? Ele tem todas as ferramentas de um aplicativo web2.0 tem (scripting, o acesso a um db, formatação básica), e é feito para a contabilidade. Você pode basicamente usar o Excel para escrever um programa que recupera dados de um banco de dados SQL, preenche algumas células e usar fórmulas para o resto.

Existe precedente para usando o Excel como seria usar o navegador para fazer um aplicativo web2 ajax-y?

Por que isso é uma má idéia?

Update: Só para esclarecer eu quis dizer que isso seja mais uma discussão "retórica". Eu não sei por que o resto da mensagem não esclarecer que ...

Foi útil?

Solução

Bem, se você fez isso no Excel, então não seria realmente uma aplicação web. Seria uma aplicação Excel.

Não que isso seja uma coisa ruim embora. Se faz mais sentido para construir o aplicativo em Excel, em seguida, ir para ele.

Os problemas que você vai ter a fazê-lo no Excel será o mesmo que os problemas que você correr para com qualquer aplicação web de desktop vs.. Por exemplo, Como você lida com a implantação de novas versões do aplicativo? Como você lida com a atualização do aplicativo para novas (ou mais) versões do Excel? etc.

ETA:

Se você quiser evitar o bugginess de Excel VBA e as dores de cabeça da gestão de uma aplicação desktop, você pode querer olhar para o Google Spreadsheets API . Você pode usá-lo para criar atualização do Google Docs planilhas / em tempo real, incluindo fórmulas e muitas outras bondade planilha. Usando um híbrido de aplicação web e Google Spreadsheets podem dar-lhe o melhor dos dois mundos, dependendo do que exatamente você precisa fazer.

Outras dicas

Depois de anos de programação em Excel-VBA, a melhor resposta que eu posso dar-lhe para não fazer isso:

Excel-VBA é buggy! É provavelmente o aplicativo mais cheio de bug que a Microsoft produziu. É ótimo para algumas tarefas, mas forçando-o a fazer um trabalho para o qual nunca foi destinado irá levar a problemas.

Eu tenho algumas planilhas que fazem coisas semelhantes, (coisas Bill nunca teve a intenção), e sem exceção, eles oscilar à beira do fracasso, e tendem a travar apenas com a menor provocação.

Claro, você pode fazê-lo, mas a dor de cabeça não vale a pena.

Excel não foi feito para ser usado dessa maneira, por isso vai ser doloroso.

Duas idéias melhores para a integração web-planilha:

  • Dê uma olhada Resolver Um , um Excel- programável planilha compatível com um servidor web integrado.
  • Use Google Docs planilhas. Há um API para interagir programaticamente com eles.

Não é uma má idéia, mas ele vem com algumas limitações. Se a implantação não é um problema para você, e você não precisa de acesso "universal" para a aplicação, a sua solução provavelmente irá poupar algum tempo. Uma aplicação web seria certamente uma abordagem mais elegante, especialmente se você quiser fazer o software disponível ao público.

A web é inerentemente baseado em HTML e adicionado com bancos de dados, CSS e do lado do servidor linguagens e javascript (possivelmente outros). Como a maioria das coisas, você deve usar a ferramenta certa para o trabalho. Se você quer um site, então você deve usar as ferramentas para a criação de um site.

Excel não é para sites fazem, forçando-o a fazê-lo provavelmente vai levar a mais frustração do que felicidade.

Bem, você está indo para executá-lo no lado do servidor, você provavelmente correr em questões de licenciamento e de desempenho.

Se você está entregando .xls para o cliente, então você precisa para todos os seus clientes de ter Excel ou algo compatível. Mas você controle também perder mais de seu "local" - o que é o ponto de visitar se você tem tudo que você precisa localmente

Assim, as instruções SQL seria no cliente? Isso é raramente uma boa idéia.

É uma má idéia para a mesma razão que escrever um editor gráfico com o MS Access é ruim, ou codificação de um MMORPG usando o PowerPoint é ruim:)

Eu também diria que uma vez que você parar de usar um navegador como o cliente deixa de ser uma "aplicação web." - você está realmente falando apenas de uma folha de Excel que obtém seus dados através de HTTP

+1 a todos que disse "um aplicativo Excel não é um aplicativo web."

Mas ... se você quiser usar a metáfora de planilha para cálculos do lado do servidor para uma aplicação web, ou se você quiser acessar a biblioteca de funções financeiras que vêm com o Excel a partir do código do lado do servidor, você pode usar < a href = "http://msdn.microsoft.com/en-us/library/ms546696.aspx" rel = "nofollow noreferrer"> Excel Serviços . Ele é exposto via SOAP, interoperável, que pode ser chamado a partir de qualquer plataforma SOAP-capazes.

É do-servidor capaz. Na verdade, não carregar Excel no servidor, mas um tempo de execução não-GUI das funções.

Eu acho que o uso de Excel como Browser é má idéia, no entanto eu acho melhor idéia é usar Controle de Excel na área de trabalho App.

Desta forma, você pode controlar o sql e conexões. você pode salvar os dados tão frequentemente como você gosta. você também pode implementar um mecanismo de atualização. App seria mais seguro e mais difícil de cortar.

Eu acho Excel congela quando você tentar se conectar a algum recurso fora e desta forma você iria controlar tudo.

Você começar por necessidades dos utilizadores para esta aplicação? Não soa como eles queriam um site para começar. Parece que eles queriam uma planilha Excel com macros.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top