Domanda

Prima di iniziare fiammeggiante, ho intenzione di dirvi che sto cercando di convincermi che questa è una cattiva idea.

In sostanza, 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 Excel, invece di un'interfaccia web.

Mi ritrovai a pensare, perché è eccellere non lo strumento migliore in questo caso? Ha tutti gli strumenti di un'applicazione web2.0 ha (scripting, l'accesso a un db, la formattazione di base), ed è fatto per la contabilità. In pratica si potrebbe utilizzare Excel per scrivere un programma che recupera i dati da un database SQL, popola alcune cellule e utilizzare le formule per il resto.

C'è un precedente di utilizzare Excel come si potrebbe utilizzare il browser per fare un web2 un'applicazione ajax-y?

Perché questo è una cattiva idea?

Aggiornamento: giusto per chiarire che intendevo questo per essere più una discussione "retorica". Io non sono sicuro perché il resto del messaggio non ha chiarito che ...

È stato utile?

Soluzione

Bene, se hai fatto in Excel, allora non sarebbe davvero un'applicazione web. Sarebbe un programma Excel.

Non che questa è una brutta cosa, però. Se ha più senso per costruire l'applicazione in Excel, quindi andare per esso.

I problemi avrete farlo in Excel sarà lo stesso che i problemi che si esegue in con qualsiasi desktop vs. applicazione web. Per esempio, come si fa a gestire la distribuzione di nuove versioni del app? Come si fa a gestire l'aggiornamento dell'app per i nuovi (o vecchi) le versioni di Excel? ecc.

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 . È possibile utilizzarlo per creare / aggiornare i fogli di calcolo di Google Docs al volo, tra formule e un sacco di altre bontà foglio di calcolo. Usando un ibrido di applicazioni web e Google Spreadsheets potrebbe dare il meglio di entrambi i mondi, a seconda di cosa esattamente dovete fare.

Altri suggerimenti

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

Excel-VBA è bacato! E 'probabilmente l'applicazione più bug-filled che Microsoft ha prodotto. E 'fantastico per alcuni compiti, ma costringendolo a fare un lavoro per il quale non è mai stato inteso porterà a problemi.

Ho un paio di fogli di calcolo che fanno cose simili, (cose Bill non ha mai voluto), e senza eccezioni, hanno barcollare sull'orlo del fallimento, e tendono a bloccarsi con solo la minima provocazione.

Certo, si può fare, ma il mal di testa non vale la pena.

Excel non è stato pensato per essere utilizzato in questo modo, quindi sarà doloroso.

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

  • Date un'occhiata al Resolver One , un Excel-programmabile foglio di calcolo compatibile con un web server integrato.
  • Utilizzo di Google Documenti fogli di calcolo. C'è un'API per interagire a livello di codice con loro.

Non è una cattiva idea, ma viene fornito con alcune limitazioni. Se la distribuzione non è un problema per voi, e non è necessario l'accesso "universale" per l'applicazione, la soluzione probabilmente vi risparmiare un po 'di tempo. Un'applicazione web sarebbe certamente un approccio più elegante, soprattutto se si desidera rendere il software disponibile al pubblico.

Il web è intrinsecamente basato su HTML e aggiunto al database con, CSS e lingue lato server e JavaScript (possibilmente altri). Come molte altre cose, è necessario utilizzare lo strumento giusto per il lavoro. Se si desidera un sito web allora si dovrebbe usare gli strumenti per la creazione di un sito web.

Excel non è pensato per fare siti web, costringendolo a farlo probabilmente portare a più frustrazione che la felicità.

Bene, si sta andando ad eseguire sul lato server, si sarebbe probabilmente esegue in problemi di licenza e di prestazioni.

Se stai offrendo .xls al cliente, allora si sarebbe necessario per tutti i vostri clienti di avere Excel o qualcosa di compatibile. Ma si perde anche il controllo della tua "sito" -? Qual è il punto di visitare se si dispone di tutto il necessario a livello locale

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

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 client cessa di essere un "applicazione web" -. Si sta davvero solo parlando di un foglio Excel che recupera i suoi dati tramite HTTP

+1 a tutti coloro che ha detto che "un app Excel non è una web app."

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 < a href = "http://msdn.microsoft.com/en-us/library/ms546696.aspx" rel = "nofollow noreferrer"> Excel Services . E 'esposta tramite SOAP, interoperabile, richiamabile da qualsiasi piattaforma SOAP-capable.

E 'server capaci. In realtà non caricare Excel sul server, ma un tempo di esecuzione non GUI delle funzioni.

Credo che l'utilizzo di Excel come Browser è cattiva idea, ma credo che migliore idea è quella di utilizzare il controllo di Excel in Desktop App.

In questo modo è possibile controllare lo sql e le connessioni. è possibile salvare i dati tutte le volte che vuoi. si potrebbe anche implementare un meccanismo di aggiornamento. App sarebbe più sicuro e più difficile da hackerare.

Credo che Excel si blocca quando si tenta di connettersi a una risorsa di fuori e in questo modo si potrebbe controllare tutto.

Hai iniziato da ottenere esigenze degli utenti per questa applicazione? Non suona come volevano un sito web per cominciare. Suona come volevano un foglio Excel con le macro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top