2009-06-29 8 views
9

Prima di iniziare la fiammata, ti dirò che sto cercando di convincermi che questa è una cattiva idea.Scrittura di un'applicazione Web in Excel? Perchè no?

Fondamentalmente, sto cercando di creare un sito Web con alcune funzioni di contabilità di base. Il mio amico, un consulente che conosce solo Excel, ha chiesto se questo potrebbe essere un foglio di calcolo excel invece di un'interfaccia web.

Mi sono trovato a pensare, perché Excel non è lo strumento migliore in questo caso? Ha tutti gli strumenti che ha un'app web2.0 (scripting, accesso a un db, formattazione di base) ed è fatto per la contabilità. Puoi fondamentalmente usare Excel per scrivere un programma che recupera dati da un database SQL, popola alcune celle e usa le formule per il resto.

Esiste un precedente nell'utilizzo di Excel come si farebbe con il browser per creare un'app ajax-y web2?

Perché questa è una cattiva idea?

Aggiornamento: solo per chiarire intendevo che si trattava più di una discussione "retorica". Non sono sicuro del motivo per cui il resto del messaggio non ha chiarito che ...

+1

Già fatto prima.Non è una cattiva idea quando si tratta di un'app personalizzata pensata per risolvere un problema specifico per una determinata persona/azienda. Hai davvero bisogno che sia una webapp? – nos

+0

Perché davvero? È in realtà? Hai inquadrato la domanda come "Ho bisogno di creare un'app web. È brutto farlo in Excel? ", Invece di" Ho bisogno di creare un'app Excel. Qual è il modo migliore? '. O meglio: voglio fare questo e così, Excel è una piattaforma migliore del web? Potremmo (non potrei, effettivamente) discuterne. –

risposta

12

Bene, se l'hai fatto in Excel, quindi non sarebbe davvero un'applicazione web. Sarebbe un'applicazione di Excel.

Non è una cosa negativa. Se ha più senso costruire l'app in Excel, allora fallo.

I problemi che si avranno in Excel saranno gli stessi problemi che si incontrano con qualsiasi applicazione desktop o web. Ad esempio, come gestisci la distribuzione delle nuove versioni dell'app? Come gestisci l'aggiornamento dell'app per nuove (o vecchie) versioni di Excel? eccetera.

ETA:

Se si vuole evitare il bugginess di Excel VBA e il mal di testa di gestione di un'applicazione desktop, si potrebbe desiderare di esaminare la Google Spreadsheets API. Puoi utilizzarlo per creare/aggiornare fogli di calcolo di Google Documenti al volo, incluse formule e molte altre funzioni di foglio di calcolo. L'utilizzo di un ibrido di applicazioni web e fogli di lavoro Google potrebbe darti il ​​meglio di entrambi i mondi, a seconda di cosa esattamente devi fare.

+1

Esattamente. Penso che questa sia la vera domanda che l'OP deve rispondere: ha bisogno di un'app excel o di un'app Web? –

+0

Hai ragione: ho bisogno di risolvere un problema per un numero limitato di persone, che possiedono società di piccole o medie dimensioni.Questo è l'obiettivo. un cattivo mezzo per questo scopo? – Chris

+0

Perché effettivamente? È in realtà? Hai inquadrato la domanda come "Ho bisogno di creare un'app Web. È brutto farlo in Excel?", invece di "Ho bisogno di creare un'app Excel ' . Potremmo (non potrei, effettivamente) discuterne. –

1

Il Web è intrinsecamente basato su HTML e aggiunto a database, CSS e linguaggi lato server e javascript (possibilmente altri). Come con la maggior parte delle cose, dovresti usare lo strumento giusto per il lavoro. Se si desidera un sito Web, è necessario utilizzare gli strumenti per la creazione di un sito Web.

Excel non è pensato per creare siti Web, forzandolo a farlo probabilmente porterà a maggiore frustrazione che felicità.

+0

+1 per la menzione di "strumento giusto per il lavoro". –

+1

La mia interpretazione del post è che sta contemplando un'app lato client basata su Excel come alternativa a un sito web. –

+0

Lo strumento giusto per il lavoro (app di contabilità) in questo caso potrebbe essere eccellente. Sono d'accordo che usare excel non è ortodosso, ma qui non stai facendo un caso. Il sito Web è un mezzo per un fine. Perché Excel non è un mezzo adatto a tale scopo? – Chris

2

Non è una cattiva idea, ma ha alcune limitazioni. Se la distribuzione non è un problema per te e non hai bisogno dell'accesso "universale" all'applicazione, probabilmente la soluzione ti farà risparmiare tempo. Un'applicazione web sarebbe sicuramente un approccio più elegante, in particolare se si desidera rendere il software disponibile pubblicamente.

1

E 'una cattiva idea per la stessa ragione che la scrittura di un editor di grafica con MS Access è un male, o la codifica di un MMORPG con PowerPoint è male :)

Vorrei anche dire che una volta che si smette di usare un browser come il client smette di essere una "web application" - stai parlando solo di un foglio Excel che recupera i suoi dati via HTTP.

1

Bene, lo si eseguirà sul lato server, probabilmente si verifichino problemi di prestazioni e licenze.

Se si consegna .xls al client, è necessario che tutti i client abbiano Excel o qualcosa di compatibile. Ma perdi anche il controllo sul tuo "sito": qual è il punto di visita se hai tutto ciò che ti serve a livello locale?

+1

Ma perdi anche il controllo sul tuo "sito" - che senso hai visitare se hai tutto ciò di cui hai bisogno localmente? Non mi importa delle impressioni, Mi interessa fornire funzionalità. Inoltre potresti avere frainteso: i dati verrebbero caricati al volo da una sorta di server SQL, proprio come un'app AJAX. – Chris

12

Dopo anni di programmazione in Excel-VBA, la migliore risposta che posso darvi per non aver fatto questo:

Excel-VBA è buggy! È probabilmente l'app piene di bug che Microsoft ha prodotto. È fantastico per alcune attività, ma costringerlo a svolgere un lavoro per il quale non è mai stato previsto porterà guai.

Ho alcuni fogli di calcolo che fanno cose simili, (cose che Bill non ha mai inteso), e senza eccezione, sono sull'orlo del fallimento e tendono a schiantarsi con la minima provocazione.

Certo, puoi farlo, ma il mal di testa non ne vale la pena.

+0

La domanda qui è: è il lavoro che Chris vuole non è inteso per Excel? –

+0

È ora 2014. Diresti che con l'ultima versione la qualità è migliorata o no? – Emmanuel

+1

@Emmanuel, direi che c'è stato un piccolo miglioramento. Devo ancora mantenere e aggiornare alcuni grandi progetti VBA, ed è ancora più fastidioso di quanto valga. VBA è ideale per compiti di piccole e medie dimensioni, ma ha dei limiti definiti. – Stewbob

3

Excel non era destinato a essere utilizzato in questo modo, quindi sarà doloroso.

Due idee migliori per l'integrazione web-foglio di calcolo:

  • dare un'occhiata a Resolver One, un foglio di calcolo compatibile con Excel programmabile con un web server integrato.
  • Utilizza fogli di lavoro Google Documenti. C'è an API per interagire programmaticamente con loro.
1

Quindi, le istruzioni SQL sarebbero sul client? Raramente è una buona idea.

0

Hai iniziato ottenendo i requisiti utente per questa applicazione? Non sembra che volessero un sito web per cominciare. Sembra che volessero un foglio di calcolo Excel con macro.

1

+1 a tutti coloro che hanno dichiarato che "un'app Excel non è un'app Web".

MA ... Se si desidera utilizzare la metafora foglio di calcolo per i calcoli lato server per una web app, o se si desidera accedere alla libreria di funzioni finanziarie che vengono con Excel da codice lato server, è possibile utilizzare Excel Services. È esposto tramite SOAP, interoperabile, richiamabile da qualsiasi piattaforma capace di SOAP.

È in grado di server. In realtà non carica Excel sul server, ma un runtime non-GUI delle funzioni.

1

Penso che l'utilizzo di Excel come Browser sia una cattiva idea, tuttavia penso che un'idea migliore sia l'uso di Excel Control in Desktop App.

In questo modo è possibile controllare sql e connessioni. puoi salvare i dati tutte le volte che vuoi. potresti anche implementare qualche meccanismo di aggiornamento. L'app sarebbe più sicura e più difficile da hackerare.

Penso che Excel si blocca quando si tenta di connettersi ad alcune risorse esterne e in questo modo si controllerebbe tutto.