PDA

View Full Version : [*] Linaguaggio di programmazione per applicazioni in Excel


salvodel
27-04-2009, 22:01
Salve a tutti
come da oggetto volevo chiedervi in quale linguaggio di programmazione mi consigliereste di buttare per sviluppare dei programmi che possano essere utilizzati in excel?
Cerco di spiegarmi meglio: al momento ho diversi programmi che mi pèermettono di fare determinate operazioni dopo di che vengono inseriti questi dati in fogli Excel per essere stampati in modo formattato. Avevo pensato di bypassare tutto questo inserendo dei programmini con interfaccia all'interno di Excel.
Grazie a tutti.


PS
Spero che il titolo non sia troppo fuori dalle regole ma non sapevo che linguaggio inserire!Scusa cionci

MarcoGG
28-04-2009, 09:07
Non mi è molto chiaro il concetto "inserire programmi in Excel"... Se questi programmi con interfaccia sono semplici Form di validazione e inserimento dati li puoi implementare direttamente in Excel usando VBA.
Se questi programmi esterni fanno da ponte tra Excel ed un DB esterno ( Access, Sql Server... ) lo stesso VBA ha tutte le funzionalità che servono.
In alternativa puoi sviluppare un'applicazione in VB6 o VB .NET che gestisce tutto, dalla creazione dei WorkBooks, inserimento dati, modifiche, salvataggio, stampa ecc...

salvodel
28-04-2009, 21:35
Non mi è molto chiaro il concetto "inserire programmi in Excel"...
Grazie per avermi risposto. L'idea è quella di poter sfruttare dei fogli excel in cui sono presenti raccolte di dati, utilizzare i fogli di calcolo come interfaccia senza avventurarsi nel mondo delle interfacce ed infine poter riempire dei moduli gia esistenti in excel riempendo i campi direttamente con questi "programmini". Suppongo che tutto questo sia molto piu difficile con il C?
Con VB.Net mi posso solo concentrare sul programma e sull'inserimento dei dati e l'output sfruttare excel, giusto?
Di nuovo grazie.

DanieleC88
28-04-2009, 21:51
Se ti piace Java: http://poi.apache.org/

MarcoGG
28-04-2009, 21:54
Grazie per avermi risposto. L'idea è quella di poter sfruttare dei fogli excel in cui sono presenti raccolte di dati, utilizzare i fogli di calcolo come interfaccia senza avventurarsi nel mondo delle interfacce ed infine poter riempire dei moduli gia esistenti in excel riempendo i campi direttamente con questi "programmini". Suppongo che tutto questo sia molto piu difficile con il C?
Con VB.Net mi posso solo concentrare sul programma e sull'inserimento dei dati e l'output sfruttare excel, giusto?
Di nuovo grazie.

Non so quali librerie abbia C per interagire con Excel, non le conosco e non so dirti quanto possa essere facile o difficile, perciò evito di trattare questo punto.
Da quel che ho capito tutti i dati su cui lavorare risiederebbero già in alcuni Workbook Excel. A questo punto, dipende certo anche dal livello di complessità di ciò che vuoi realizzare, si potrebbe fare tutto in VBA ( una UserForm VBA ti permette ad esempio di controllare l'input dell'utente senza che questi debba mai "toccare" il Foglio di lavoro... ).
VB Net è una scelta molto valida se hai bisogno di un'applicazione centrale che gestisce più Workbooks. Mi tengo sulle generali, perchè la tua esposizione è un po' vaga ( utilizzare i fogli di calcolo come interfaccia senza avventurarsi nel mondo delle interfacce )...

cionci
29-04-2009, 11:10
VB.Net e C# imho...

salvodel
29-04-2009, 20:39
Grazie a tutti per le risposte. Ripensandoci avrei dovuto porre la domanda in altri termini. Inserendo un forte legame con Excel era normale che si ricadesse su linguaggi di programmazione vicini a MS. Forse avrei potuto chiedere: un linguaggio semplice per realizzare programmini con interfacce grafiche e che permettessero di accedere a file Excel. Una domanda del genere però credo che avrebbe scatenato il putiferio.
Grazie a tutti.

PS
Giusto per scatenare un po di flame: meglio il C# o VB.NET? Seriamente quale dei due programmi è più vivo è può essere rivenduto in un futoro?
Grazie.

cionci
29-04-2009, 20:40
Più vivo secondo me C#...è il linguaggio "principe" della piattaforma .Net.

DanieleC88
29-04-2009, 21:17
In tal caso C# a tutta birra.

||ElChE||88
29-04-2009, 22:04
Giusto per scatenare un po di flame: meglio il C# o VB.NET? Seriamente quale dei due programmi è più vivo è può essere rivenduto in un futoro?
C# assolutamente.

MarcoGG
29-04-2009, 22:54
Grazie a tutti per le risposte. Ripensandoci avrei dovuto porre la domanda in altri termini. Inserendo un forte legame con Excel era normale che si ricadesse su linguaggi di programmazione vicini a MS. Forse avrei potuto chiedere: un linguaggio semplice per realizzare programmini con interfacce grafiche e che permettessero di accedere a file Excel. Una domanda del genere però credo che avrebbe scatenato il putiferio.
Grazie a tutti.


Magari potevi fare un piccolo esempio pratico per essere più chiaro... ;)


PS
Giusto per scatenare un po di flame: meglio il C# o VB.NET? Seriamente quale dei due programmi è più vivo è può essere rivenduto in un futoro?
Grazie.


Eh eh, non sai che domanda hai fatto ! :D
Scherzi a parte, personalmente li sto usando un po' tutti e due, perciò sul versante "semplicità" il mio consiglio è VB, soprattutto in un'ottica Excel, dato che il linguaggio "principe" di Office è VBA ( potresti avere bisogno di creare codice embedded nei WorkBooks, o, come ho visto fare, macro temporanee che vengono inserite, eseguite e rimosse, per non essere disponibili all'utente finale e quant'altro... ) e imparando una sintassi stile-VB prenderesti 2 piccioni... ( facciamo 1 piccione e mezzo... :D, vista l'enorme diversità operativa che c'è comunque tra VBA e VB.NET ).
Chiaramente tutto ciò, nello specifico di quanto avevi chiesto in apertura.

Secondo me potresti provare inizialmente con un progetto di test .NET su Excel. Scrivilo in VB e poi in C# ( o viceversa ), e giudica tu stesso con quale sintassi ti trovi meglio.

Sul discorso generale tra cosa sia "meglio" tra VB e C# non mi pronuncio ( per lo stesso motivo che hai citato, perchè queste cose alimentano i soliti giri di parole infiniti, e non ne ho nessuna voglia :p ), la tendenza del mercato è senza dubbio a favore di C#, su questo non ci piove.

salvodel
30-04-2009, 08:49
Magari potevi fare un piccolo esempio pratico per essere più chiaro... ;)
Ho 100 cento ombrelloni e devo gestire le prenotazioni durante l'estae e fare cavolate di questo tipo. Oppure fare un po di conti e previsioni sui consumi di bevande: cavolate ma che mi permetterebbero di riempire un pò di tempo che ho(ma veramente poco). Tipo avere le immagini del prodotto selozzionarlo e mettere le quantità.

Secondo me potresti provare inizialmente con un progetto di test .NET su Excel. Scrivilo in VB e poi in C# ( o viceversa ), e giudica tu stesso con quale sintassi ti trovi meglio.

Credo che farò così: prendo qualche esempio scritto in C# e VBA e poi vedo quello che mi "piglia" prima.
grazie a tutti.

MarcoGG
30-04-2009, 09:45
Credo che farò così: prendo qualche esempio scritto in C# e VBA e poi vedo quello che mi "piglia" prima.
grazie a tutti.


Io veramente intendevo : prova VB.NET (VB 2005 o 2008) e C#(2005 o 2008)... Per il gestionale sulle prenotazioni estive, o per un database prodotti con fotografie e quant'altro ovviamente non ti consiglio più VBA secco ( visto che finalmente ti sei un po' "sbottonato" :D ), ma un'applicazione centrale .NET che può produrre un output in Excel...

cionci
30-04-2009, 12:49
ma un'applicazione centrale .NET che può produrre un output in Excel...
Concordo...Excel deve essere solo un modo per produrre un riepilogo comprensibile.
Maglio appoggiarsi ad un DBMS gratuito per queste cose: SQL Server Express per restare sempre in campo MS. O al limite anche ad un DB Access.