Confrontare VSTO con Aspose.Cells for .NET
Panoramica
Microsoft Excel è ampiamente utilizzato da aziende e individui in tutti i tipi di settori. L’applicazione di fogli di calcolo è quasi onnipresente e consente agli utenti non solo di memorizzare e organizzare i dati, ma di costruire modelli complessi con formule e presentare i dati in modo chiaro con formattazione avanzata e grafici.
VSTO consente ai documenti di Microsoft Office di eseguire il codice racchiuso in un assembly .NET. È utilizzato per sviluppare applicazioni che lavorano con file e funzionalità di Microsoft Office. Gli sviluppatori hanno utilizzato ASP, componenti Web di Office e COM interop in applicazioni per anni. Microsoft ha potenziato VSTO per rendere lo sviluppo e il rilascio delle applicazioni e migliorare la gestione della memoria. Ma la domanda rimane: VSTO è progettato per essere più facile da usare e più affidabile rispetto ad altri approcci disponibili oggi? Gli sviluppatori vogliono lavorare con soluzioni che non li deludano in termini di prestazioni migliorate, sicurezza, scalabilità, stabilità, affidabilità o funzionalità.
Aspose fornisce una vasta gamma di API .NET, Java, Cloud e Android. Le API di Aspose includono prodotti come Aspose.Cells, Aspose.Words, Aspose.Pdf e Aspose.Slides, API che aiutano i developers ad aprire, modificare, generare, salvare, unire e convertire documenti in vari formati, tra cui XLS, XLSX, DOC, DOCX, HTML, PDF, PPT.
In questo articolo, confrontiamo VSTO con Aspose.Cells for .NET.
Aspose.Cells è un’API indipendente per la manipolazione di fogli di calcolo di Microsoft Excel che legge e scrive fogli di lavoro di Microsoft Excel senza che Microsoft Excel sia installato sul lato client o server. Aspose.Cells è una componente ricca di funzionalità e offre molto più di una semplice esportazione di dati. Con Aspose.Cells, gli sviluppatori possono esportare dati, formattare fogli di calcolo, importare immagini, creare e manipolare grafici, trasmettere dati di Excel e salvare in vari formati. Per saperne di più sul prodotto e sulle sue funzionalità:
- Consulta la documentazione di Aspose.Cells.
- Vedi come funziona nelle demo online.
- Provalo: scarica una versione di valutazione gratuitamente.
Questo articolo confronta VSTO e Aspose.Cells su diversi aspetti legati a Microsoft Excel. L’elenco non è completo ma rappresenta alcuni problemi che i decisori devono capire prima di prendere una decisione finale prima di adottare un approccio.
Requisito del framework .NET
VSTO richiede il .NET Framework (incluso Visual Studio Tools for Office SE Runtime) sul lato client per eseguire l’applicazione finale. Nella maggior parte degli ambienti aziendali, specialmente nei casi web, gli utenti finali non possono installare software e framework di runtime correlati. Questo requisito da solo rende problematiche le applicazioni basate su VSTO. Praticamente esclude le applicazioni pronte all’uso basate su VSTO.
Al contrario, Aspose.Cells for .NET non richiede necessariamente il .NET Framework sul lato client per lo scenario sottostante. Le applicazioni di Office costruite con la componente sono leggere e garantite di funzionare su sistemi Microsoft Windows sotto un carico significativo.
Caratteristiche
Le funzionalità fornite da VSTO dipendono dalla combinazione di prodotti VSTO e Visual Studio installati. Compiti comuni eseguiti da VSTO per Microsoft Office Excel 2003 includono l’aggiunta di dati alle celle, la creazione, l’apertura e il salvataggio dei fogli di lavoro, l’aggiunta, lo spostamento e la visualizzazione delle schede, la protezione dei fogli di lavoro, i nomi definiti, oggetti di lista, la formattazione degli stili, la ricerca del testo nelle celle, l’ordinamento dei dati, la stampa e i calcoli delle formule di Excel.
Aspose.Cells fornisce tutto il necessario per gestire i file di Microsoft Office Excel e molto altro ancora. L’API offre ai programmatori ottimi risultati con il minimo sforzo. Aspose.Cells fornisce molte funzioni potenti e che risparmiano tempo. L’API fornisce API facili da usare per tutti i tipi di attività di gestione dei fogli di calcolo, coprendo quasi tutte le funzionalità fornite da Microsoft Excel. Tutti i compiti elencati per VSTO possono essere facilmente eseguiti da Aspose.Cells.
Aspose.Cells supporta anche diverse funzionalità avanzate, inclusa la gestione degli Smart Markers, l’importazione ed esportazione di dati da e verso numerosi origine dati, oggetti e file di Excel, il supporto per i client COM (client ASP), l’interoperabilità con la componente, la conversione dei file di Excel in formato PDF, il salvataggio dei grafici e dei fogli di lavoro di Excel come file immagine.
Sicurezza
Per impostazione predefinita, le applicazioni VSTO richiedono autorizzazioni di Full Trust per l’esecuzione in quanto non consentono chiamanti parzialmente fidati. Per bloccare un’applicazione web e fornire un livello aggiuntivo di isolamento dell’applicazione in un ambiente ospitato, è possibile utilizzare la sicurezza di accesso al codice per limitare le risorse a cui l’applicazione può accedere e le operazioni privilegiate che può eseguire. Ma è necessario dedicare del tempo e sforzi per capire la sicurezza .NET.
I fornitori di servizi Internet (ISP) che ospitano molteplici applicazioni da molte diverse società spesso utilizzano il livello di fiducia medio per garantire che le applicazioni non possano leggere i dati delle altre o interferire l’una con l’altra. Per motivi di sicurezza, gli ISP possono limitare le singole applicazioni web su server condivisi a Affidabilità parziale.
Aspose.Cells for .NET può funzionare con il livello di sicurezza Medium Trust. Non sono richiesti privilegi speciali per eseguire l’assembly in un ambiente ospitato. La Fiducia Media pone restrizioni sui tipi di risorse di sistema condivise a cui le applicazioni possono accedere. Molte applicazioni web sono in esecuzione su server di hosting web. In modalità di hosting web, la maggior parte di esse può funzionare solo con il livello di sicurezza Medium Trust. Aspose.Cells for .NET può soddisfare molto bene le loro esigenze in questo senso.
Fornitori di Servizi Internet (ISP) che ospitano molte applicazioni di molte diverse aziende utilizzano frequentemente il livello di fiducia parziale per garantire che le applicazioni non possano leggere i dati reciproci o interferire l’una con l’altra. Per motivi di sicurezza, gli ISP possono limitare le singole applicazioni web su server condivisi alla Fiducia Parziale.
La performance è il fattore più critico nella scelta di qualsiasi approccio o metodologia per costruire una soluzione.
Le prestazioni di un’applicazione VSTO ricadono su approcci VBA e COM secondo alcuni resoconti degli utenti. Ci sono diversi fattori che influenzano le prestazioni di VSTO ed è importante mettere questi fattori in prospettiva.
- Il costo di avvio del .NET è per sua natura costoso. Le applicazioni scritte in .NET devono sopportare il sovraccarico della compilazione Just-In-Time (JIT), quindi la compilazione JIT non può essere evitata.
- Un altro fattore che influisce sulle prestazioni delle applicazioni basate su VSTO ha a che fare con il costo delle chiamate attraverso gli spessori dei livelli di automazione che incapsulano gli oggetti COM di Microsoft Office. VBA, costruito e ottimizzato per interagire con Microsoft Office, ha una distanza più breve da percorrere rispetto a .NET.
- Infine, l’hosting di oggetti Excel nell’IDE di Visual Studio è costoso in termini di risorse. Le applicazioni VSTO hanno un’impronta di memoria più grande rispetto alle applicazioni VBA. Le applicazioni Excel VSTO utilizzano molta memoria e non la rilasciano mai al sistema operativo fino a quando non vengono chiuse tutte le istanze di Microsoft Excel.
Se stai considerando l’adozione di VSTO come piattaforma di sviluppo per la tecnologia di Microsoft Office, dedica del tempo alla ricerca di risorse per familiarizzare con queste caratteristiche.
Inoltre, l’impatto sulle prestazioni del controllo costante degli aggiornamenti potrebbe non essere appropriato per la soluzione (server di distribuzione più lenti, connessioni di rete più lente o semplicemente l’impossibilità di raggiungere frequentemente il server possono influire negativamente sui tempi di caricamento).
Al contrario, Aspose.Cells for .NET è altamente scalabile, flessibile e veloce. In generale, le applicazioni Office non sono state progettate per essere utilizzate contemporaneamente da centinaia o migliaia di utenti; tuttavia, Aspose.Cells lo è. L’API è stabile e può svolgere attività sui fogli di calcolo in modo impeccabile sia su un singolo server, supportando un’applicazione singola, che su un gruppo di server bilanciato che alimenta un’applicazione aziendale.
Requisiti di sistema
Analizzando i requisiti di sistema per questi due approcci, scopriamo che VSTO è più costoso e richiede più elementi essenziali.
VSTO ha un lungo elenco di prerequisiti:
- Sistemi operativi supportati: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
- Versioni del framework .NET supportate: solo .NET framework 2.0 o superiore
- Una o più delle seguenti edizioni di Visual Studio Tools for Office:
- Microsoft Visual Studio 2005 Tools for the Microsoft Office System
- Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System
- Edizione Professionale di Visual Studio 2008
- Edizione Team Suite di Visual Studio 2008
- Una versione di Microsoft Office:
- Microsoft Office Professional 2003 SP1
- Sistema di Office 2007 Microsoft
Aspose.Cells non richiede che Microsoft Excel sia installato né sul client né sul server, poiché è un motore di creazione di fogli di calcolo. Tuttavia, per visualizzare i documenti di Microsoft Excel, è necessario almeno avere installato Microsoft Excel Viewer sul sistema.
- Sistemi operativi supportati: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
- Versioni del framework .NET supportate: tutti i framework .NET sono supportati, 1.0, 1.1, 2.0, 3.x ecc.
Installazione e Distribuzione
L’installazione di VSTO può essere un compito grande e problematico. A volte, un’installazione richiede di reinstallare manualmente alcune parti degli strumenti e di registrarle manualmente. Può diventare complicato.
D’altra parte, Aspose.Cells for .NET è confezionato in un singolo DLL quindi non c’è bisogno di installare app aggiuntive. Il componente è utilizzato solo dalle applicazioni .NET e nessuna parte del codice del componente è progettata per attendere una risposta umana. Visita la pagina di download di Aspose.Cells e scarica l’ultimo programma di installazione di Aspose.Cells. Esegui il file scaricato e segui le istruzioni del programma di installazione. Successivamente, per utilizzare il componente, fai riferimento ad esso nel tuo progetto.
Esempio di compito
Per mostrare le differenze tra i due approcci, il codice seguente mostra come utilizzare sia le API VSTO che Aspose.Cells per compilare un file di modello con dati.
- Viene utilizzato un file Microsoft Excel (TempBook.xls) come modello. Il workbook contiene alcune schede con alcune celle compilate con dati.
- Il codice di esempio inserisce 1000*20 record nella prima scheda del file Excel di modello. La scheda viene riempita con dati costanti (fittizi) nelle celle.
Il compito viene eseguito su un sistema con processore Intel(R) Celeron(R) CPU 2,40 GHz, 760 MB di RAM e sistema operativo Microsoft Windows XP Professional.
I segmenti di codice seguenti illustrano come eseguire questi compiti con ciascuna API.
Codice VSTO
Codice Aspose.Cells
Risultati
I risultati hanno mostrato che utilizzare l’API VSTO ha richiesto circa 2,5 minuti (approssimativamente oltre 150 secondi) per completare il compito, mentre Aspose.Cells ha impiegato meno di 1 secondo su un hardware comune con configurazioni di sistema normali.
Se il ciclo viene esteso, ad esempio per riempire 10.000*20 celle, Aspose.Cells impiega circa 5,5 secondi per fare il lavoro.
Conclusioni
Se stai considerando di utilizzare una tecnologia di Microsoft Office in una soluzione aziendale, familiarizzati prima con le alternative disponibili. Effettua alcuni test basati su prodotti diversi ed esponili a una varietà di condizioni del mondo reale come carico e stress per vedere quanto bene si comportano.
Aspose.Cells è un prodotto stabile e maturo con una base di clienti mondiale, e sufficientemente scalabile per funzionare bene con carichi pesanti.
Le prestazioni di VSTO non sono ancora raffinate. È molto probabile che alcune di queste problematiche di prestazioni non siano legate a VSTO stesso, ma abbiano connessioni con i processi di compilazione JIT di .NET. Tuttavia, ci sono ancora dubbi se le applicazioni VSTO si scalino da sole man mano che aumenta il carico. Il nuovo modello di VSTO non richiede che Excel risieda sul server web per l’elaborazione di documenti ma penso che VSTO abbia ancora molta strada da fare per avere un impatto reale.