Office Web Components in programmi C# da http://escher07.altervista.org



Documenti analoghi
Il Web-Service SDMX dell ISTAT

19. LA PROGRAMMAZIONE LATO SERVER

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Corso su LINQ Lezione 16. Introduzione

SendMedMalattia v Manuale d uso

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at] .

OSSIF WEB. Manuale query builder

L archiviazione della posta elettronica può aiutarci a recuperare spazio senza costringerci a cestinare documenti importanti

Tale attività non è descritta in questa dispensa

GERARCHIE RICORSIVE - SQL SERVER 2008

ISTRUZIONI AGGIORNAMENTO TARIFFARIO 2006

Zeroshell: VPN Host-to-Lan. Il sistema operativo multifunzionale. creato da

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Installazione MS SQL Express e utilizzo con progetti PHMI

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

MANUALE PORTALE UTENTE IMPRENDITORE

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Corso Eclipse. Prerequisiti. 1 Introduzione

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

SQL Server BI Development Studio

Configurazione Client di Posta Elettronica

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

Evolution 4 & ACUXDBC

Il tutor è a disposizione per ogni chiarimento

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

Integrazione InfiniteCRM - MailUp

Gli step previsti per portare a termine la configurazione della casella PEC sono:

GROUP POLICY MANAGEMENT CONSOLE (ACTIVE DIRECTORY)

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

Guida Migrazione Posta Operazioni da effettuare entro il 15 gennaio 2012

Il calendario di Windows Vista

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

La struttura dati ad albero binario

Guida all uso. Esso sarà riportato nell intestazione. Vediamo:

FPf per Windows 3.1. Guida all uso

Autologon per Windows Come evitare che Windows chieda Password e Utente all avvio

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

10 - Disegno di sezioni e profili da punti topografici.

MICROSOFT OUTLOOK EXPRESS breve manuale d uso

GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER

[emmebox - NoBadMail]

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB

Manuale Utente SIRECO

MC-link Lan+ Connessione e configurazione del router PRESTIGE 100

COMPILAZIONE DI UN APPLICAZIONE. 1) Compilare il file (o i file se più d uno) che contengono il testo del programma. compilatore

Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server

Le query di raggruppamento

Installazione di GFI Network Server Monitor

Il presente supporto consente la gestione delle gare Giovanili. Premere il pulsante Immissione Dati Gara

STAMPA UNIONE DI WORD

Modello per la compilazione della scheda progetto SK_3.1.xls (da utilizzarsi per la presentazione di progetti di attività formative)

Iniziamo ad utilizzare LiveBox ITALIANO.

Andrea Maioli Instant Developer: guida all uso

e/fiscali - Rel e/fiscali Installazione

Agenzia delle entrate on line. A cosa serve?

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

System Center Virtual Machine Manager Self-Service Portal

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Gli step previsti per portare a termine la configurazione della casella PEC sono:

Tutorial per il modulo Composizione e tecnica fotografica Un approfondimento sulla fotografia panoramica. Roberto Gonella, Alberto Terragni

GUIDA ALLA CONFIGURAZIONE E ALL UTILIZZO

REGISTRAZIONE. Che applicativi devo scegliere per la registrazione all Osservatorio?...2

Importare/esportare la rubrica di Webmail Uniba

GB informazioni e freeware

Introduzione a DataTime Reporting System: un semplice report

Manuale Fornitore E-Vendor

Creazione Account PEC puntozeri su Outlook Express

Windows. Cos è I componenti principali Le funzioni essenziali. 1

GUIDA ALLA REGISTRAZIONE E ALL ACCREDITAMENTO AL PORTALE DI ATENEO UNITO.IT

Architettura MVC-2: i JavaBeans

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Iniziamo ad utilizzare LiveBox ITALIANO.

GESGOLF SMS ONLINE. Manuale per l utente

Giornale di Cassa e regolarizzazione dei sospesi

Guida all utilizzo del CRM

Outlook Express 6 Microsoft Internet Explorer, Avvio del programma Creare un nuovo account

Manuale per la ricezione del DURC tramite Posta Elettronica Certificata

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

[ runny.it caselle fornite da emmebox.net]

Manuale per la configurazione di AziendaSoft in rete

Gli step previsti per portare a termine la configurazione della casella PEC sono:

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Let's start! File > New Project > Ruby > Ruby on Rails Application (events)

Procedura installazione del software per la visualizzazione del fascicolo sanitario elettronico

CamiGas-Digigas: Manuale Referente

Invio SMS. DM Board ICS Invio SMS

Corso Eclipse. Prerequisiti. 3 Window Builder

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

File, Modifica, Visualizza, Strumenti, Messaggio

Istruzioni Aggiornamento RGT Xml

AMMINISTRAZIONE PROVINCIALE DI LUCCA GUIDA PER LA RICHIESTA ON LINE DI VOUCHER FORMATIVI

Concetti fondamentali dei database database Cos'è un database Principali database

Standard Nazionale di Comunicazione Mercato Gas

Transcript:

Office Web Components in programmi C# da http://escher07.altervista.org Generalità L obiettivo è realizzare un programma C# che utilizzando il componente Web Pivot permetta di ottenere un risultato come il seguente: Figura 1 Nel quale in una form compare un componente Tabella Pivot caricato con i dati di una tabella proveniente da un DB che permette di eseguire analisi OLAP (es. Drill Down) sui dati in questione. Implementazione I dati saranno prelevati da un DB Oracle e si utilizzerà la seguente architettura:

In pratica un opportuno Web Service preleva i dati dal DB utilizzando la tecnologia ADO : la form invocando il corrispondente Web Method carica localmente i dati che saranno consumati dalla tabella Pivot. Web Service Per scrivere il nostro WS saremo molto sintetici : il che vuol dire ad esempio che non ci occuperemo né degli aspetti di sicurezza né di flessibilità per minimizzare il codice. In pratica il nostro WS esporrà un unico metodo che non richiederà né argomenti né autenticazioni ovvero GetAdo XML(). E chiaro che in una soluzione da utilizzare in produzione sarebbe opportuno curarsi di entrambi gli aspetti ad esempio prevedendo gli argomenti ComandoSQL, Utente, Password. Per i nostri scopi il WS deve costruire un ADO Recordset e restituirlo come stringa rappresentato in XML. Affinché l office data source control lo possa utilizzare è fondamentale che sia tradotto in XML attraverso il metodo Save un recordset ADO e non ad esempio un semplice DataSet. Praticamente possiamo verificare come il primo sia fatto così: Mentre il secondo sia ben più ricco:

Operativamente per scrivere il WS si procede come segue. Da Visual Web Developer si sceglie File/New Web Site e poi: L applicazione /ced/wsced deve essere stata definita su IIS nella directory root con permessi di esecuzione solo script. Fatto questo si crea una cosa del genere: Nel file WSced.cs aggiungiamo il seguente Web Method: [WebMethod] public string GetAdoXML()

ADODB.Connection m_adocnn = new ADODB.Connection(); ADODB.Recordset m_adorst = new ADODB.Recordset(); ADODB.Stream m_stream = new ADODB.Stream(); string m_adocnnstr =""; string m_sqlcmd = "SELECT * FROM TuaTabella"; m_adocnnstr = "Provider=MSDAORA;Password=TuaPassword;User ID=TuoOracleUser;Data Source=TuoServerOracle"; m_adocnn.connectionstring = m_adocnnstr; m_adocnn.open(m_adocnnstr, "", "", 0); m_adorst.open(m_sqlcmd, m_adocnn, CursorTypeEnum.adOpenStatic, LockTypeEnum.adLockBatchOptimistic, -1); m_adorst.save(m_stream,persistformatenum.adpersistxml); return m_stream.readtext(-1); Notare la connessione ADO che per provider nella ConnectionString utilizza MSDAORA ed il riempimento del recordset ADO facendo riferimento al comando SQL e alla connessione precedentemente aperta. Notare infine l invocazione del metodo save dell ADO recordset con l opzione adpersistxml. L argomento -1 in Read Text vuol dire leggi tutto il file. Soluzione C# L idea è quella di incorporare la tabella Pivot in un controllo Utente. In VS Express si può procedere come segue. Innanzitutto da File/New creiamo una nuova Class Library: Dal solution Explorer cancelliamo Pivot.cs e salviamo il tutto. Notiamo che questo è uno stratagemma perché in teoria per creare user control servirebbe una versione a pagamento di Visual Studio. A questo punto devono essere impostate le giuste reference, in particolare alle DLL che contengono gli OWC OWC11.dll e AxOWC11.dll (la DLL che permette l interoperabilità COM-CLR per i componenti in questione) e aggiunto il controllo Tabella Pivot alla toolbox. Ovvero da Add/References:

e poi da Choose Items : Dal menù contestuale (click dx) della toobox. Se tutto è stato fatto correttamente la toobox si presenterà così:

NB: il data source control al momento non serve, semplicemente mi faceva fatica rimuoverlo per stampare la videata. Dovrà comparire obbligatoriamente invece più avanti. Nella form trasciniamo la nostra Microsoft Pivot Table 11.0 e nel codice Pivot.Designer.cs mettiamo le proprietà e gli eventuali metodi esposti. Ad esempio: public string PivotConnectionString get return this.axpivottable1.connectionstring; set this.axpivottable1.connectionstring = value; public string PivotDataMember get return this.axpivottable1.datamember; set this.axpivottable1.datamember = value; public string PivotCommandText get

set return this.axpivottable1.commandtext; this.axpivottable1.commandtext = value; public string PivotCubeProvider get return this.axpivottable1.cubeprovider; set this.axpivottable1.cubeprovider = value; public object PivotDataSource get return (object)this.axpivottable1.datasource; set this.axpivottable1.datasource = (msdatasrc.datasource)value; public string PivotXMLData get return this.axpivottable1.xmldata; set this.axpivottable1.xmldata = value; private AxMicrosoft.Office.Interop.Owc11.AxPivotTable axpivottable1; Fatto questo aggiungiamo un nuovo progetto alla soluzione (da Solution Explorer File/Add/New Project) rendiamolo progetto di Start up. Mettiamo le giuste reference, ovvero:

Se tutto è stato fatto correttamente la toolbox si presenterà come prima riportato (quindi anche con DSC) e dopo aver lanciato la compilazione avremo anche il nostro user control trascinabile nella form: Si tratta ora di trascinare nella form lo user control che abbiamo fatto ed un componente Data Source, che sarà quello che riceverà i dati dal WS e, dopo aver costruito in RAM il cubo li passerà alla Pivot per la presentazione. In pratica il form builder si presenterà così:

Il WS per poter essere utilizzato dovrà essere referenziato nella soluzione (con Add Web Reference da Solution Explorer) per cui alla fine il solution explorer medesimo si presenterà così:

Si tratta ora di scrivere il gestore del click del bottone carica, cosa che sarà fatta in questo modo: private void button1_click(object sender, EventArgs e) localhost.wsced objwebmethod = new localhost.wsced(); string strresult = ""; string strdatafile = "";

strdatafile = "mydata.xml"; strresult = objwebmethod.getdataxml(); XmlDocument xmldoc = new XmlDocument(); xmldoc.loadxml(strresult); xmldoc.save(strdatafile); if (this.axdatasourcecontrol1.connectionstring == null) this.axdatasourcecontrol1.connectionstring = "provider=mspersist"; this.axdatasourcecontrol1.recordsetdefs.addnew(strdatafile, 5,"dscData"); pivot1.pivotdatasource = this.axdatasourcecontrol1.defaultrecordset.datasource; pivot1.pivotconnectionstring = "provider=mspersist"; pivot1.pivotcommandtext = strdatafile; Riguardo al bottone Show HTML l ho messo per controllo. In pratica mostra la definizione (non i dati!) nella pivot table e corrisponde al seguente codice: private void button2_click(object sender, EventArgs e) textbox1.text = pivot1.pivotxmldata; Il suo output sarà qualcosa del genere: <xml xmlns:x="urn:schemas-microsoft-com:office:excel"> <x:pivottable> <x:owcversion>12.0.0.4518 </x:owcversion> <x:displayscreentips/> <x:cubeprovider>msolap.2</x:cubeprovider> <x:displayfieldlist/> <x:fieldlisttop>188</x:fieldlisttop> <x:fieldlistleft>644</x:fieldlistleft> <x:fieldlistbottom>559</x:fieldlistbottom> <x:fieldlistright>844</x:fieldlistright> <x:cachedetails/> <x:connectionstring>provider=mspersist.1</x:connectionstring> <x:commandtext>mydata.xml</x:commandtext> <x:name>tabella pivot di Microsoft Office 11.0</x:Name> <x:pivotfield> <x:name>num_ticket</x:name> <x:datatype>number</x:datatype> <x:encodedtype>adnumeric</x:encodedtype> <x:compareorderedmembersby>uniquename</x:compareorderedmembersby> </x:pivotfield> <x:pivotfield> <x:name>anni3</x:name> <x:basefield>dat_scadenza2</x:basefield> <x:grouptype>years</x:grouptype> <x:plcaption>anni</x:plcaption> <x:encodedtype>adinteger</x:encodedtype> <x:numberformat>yyyy</x:numberformat> <x:compareorderedmembersby>name</x:compareorderedmembersby> </x:plpivotfield> <x:pivotdata> <x:top>0</x:top> <x:topoffset>0</x:topoffset> <x:left>0.0</x:left> <x:leftoffset>0</x:leftoffset> <x:seqnum>1</x:seqnum> <x:expanded/> </x:pivotdata> <x:pivotview>

<x:isnotfiltered/> </x:pivotview> </x:pivottable> </xml> ovvero i campi del cubo (quelli che compaiono sulla destra nella Figura 1) e i formati della tabella. Links http://forums.microsoft.com/msdn/showpost.aspx?postid=1144426&siteid=1 Creare uno User Control in VS Express. http://blog.shareoffice.it/emanuele/archive/2006/10/08/7951.aspx Creare una tabella pivot in Visual Basic.Net http://support.microsoft.com/kb/555237/it Risorse di Microsoft Office Web Components http://aspnetresources.com/articles/office_web_components.aspx Building Dazzling Chart With Office Web Components