Confrontando VSTO con Aspose.Cells for .NET

Panoramica

Microsoft Excel è ampiamente utilizzato da aziende e privati in tutti i tipi di settori. L’applicazione per fogli di calcolo è quasi onnipresente e consente agli utenti non solo di archiviare e organizzare i dati, ma anche di creare modelli complessi con formule e presentare i dati in modo chiaro con formattazione e grafici avanzati.

VSTO consente ai documenti Office Microsoft di eseguire codice racchiuso in un assembly .NET. Viene utilizzato per sviluppare applicazioni che funzionano con file e funzionalità di Office Microsoft. Gli sviluppatori hanno utilizzato ASP, i componenti Web di Office e l’interoperabilità COM nelle applicazioni per anni. Microsoft ha migliorato VSTO per rendere lo sviluppo e la distribuzione di 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 migliori prestazioni, sicurezza, scalabilità, stabilità, affidabilità o funzionalità.

Asposefornisce una grande linea di API .NET, Java, Cloud e Android. Le API Aspose includono prodotti come Aspose.Cells, Aspose.Words, Aspose.Pdf e Aspose.Slides, API che aiutano[gli sviluppatori aprono, modificano, generano, salvano, uniscono e convertono 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]](https://products.aspose.com/cells/net/) è una manipolazione del foglio di calcolo Excel Microsoft indipendente API che legge e scrive fogli di calcolo Excel Microsoft senza Microsoft Excel installato sul lato client o server. Aspose.Cells è un componente ricco di funzionalità e offre molto di più di una semplice esportazione di dati di base. Con Aspose.Cells gli sviluppatori possono esportare dati, formattare fogli di calcolo, importare immagini, importare creare e manipolare grafici, eseguire lo streaming di dati Excel e salvare in vari formati. Per saperne di più sul prodotto e le sue caratteristiche:

Questo articolo confronta VSTO e Aspose.Cells su diversi aspetti relativi a Microsoft Excel. L’elenco non è completo ma rappresenta alcune questioni che i decisori devono comprendere prima di prendere una decisione definitiva prima di adottare un approccio.

.NET Requisito Quadro

VSTO richiede il framework .NET (inclusi Visual Studio Tools per Office SE Runtime) sul lato client per eseguire l’applicazione finale. Nella maggior parte degli ambienti aziendali, in particolare negli scenari Web, gli utenti finali non possono installare il software applicativo ei relativi framework di runtime. Questo requisito da solo rende problematiche le applicazioni basate su VSTO. Praticamente esclude le applicazioni standard basate su VSTO.

Al contrario, Aspose.Cells for .NET non richiede necessariamente il Framework .NET sul lato client per lo scenario sottostante. Le applicazioni Office create con il componente sono leggere e garantite per funzionare su sistemi Microsoft Windows sotto carico significativo.

Caratteristiche

Le funzionalità fornite da VSTO dipendono dalla combinazione di prodotti VSTO e Visual Studio installati. Le attività comuni eseguite da VSTO per Microsoft Office Excel 2003 includono l’aggiunta di dati a Cells, la creazione, l’apertura e il salvataggio di cartelle di lavoro, l’aggiunta, lo spostamento e l’occultamento di fogli di lavoro, la protezione di fogli di lavoro, gli intervalli denominati, l’oggetto elenco, la formattazione degli stili, la ricerca di testo nelle celle, l’ordinamento dei dati, stampa e calcolo delle formule Excel.

Aspose.Cells fornisce tutto il necessario per gestire i file Microsoft Office Excel e molto altro ancora. Lo API offre agli sviluppatori ottimi risultati con il minimo sforzo. Aspose.Cells fornisce molte potenti funzioni che fanno risparmiare tempo. API fornisce API di facile utilizzo per tutti i tipi di attività di gestione dei fogli di calcolo, coprendo quasi tutte le funzionalità fornite da Microsoft Excel. Tutte le attività elencate per VSTO possono essere facilmente eseguite da Aspose.Cells.

Aspose.Cells supporta anche diverse funzionalità avanzate, tra cui il supporto per Smart Marker, importazione ed esportazione di dati da e verso una serie di origini dati, oggetti e file Excel, supporto per client COM (client ASP) Interoperabilità con il componente, conversione di file Excel nel formato PDF , salvando grafici e fogli di lavoro di Excel come file immagine.

Sicurezza

Per impostazione predefinita, le applicazioni VSTO richiedono autorizzazioni Full Trust per l’esecuzione in quanto non consentono chiamanti parzialmente attendibili. Per bloccare un’applicazione Web e fornire un ulteriore livello di isolamento dell’applicazione in un ambiente ospitato, è possibile utilizzare la protezione dall’accesso di codice per limitare le risorse a cui l’applicazione può accedere e le operazioni con privilegi che può eseguire. Ma è necessario investire un po' di tempo e sforzi per comprendere la sicurezza di .NET.

I provider di servizi Internet (ISP) che ospitano più applicazioni di molte aziende diverse utilizzano spesso il livello di attendibilità medio per garantire che le applicazioni non possano leggere i dati l’una dell’altra o interferire l’una con l’altra. Per motivi di sicurezza, gli ISP possono limitare le singole applicazioni Web sui server condivisi a Partial Trust.

Aspose.Cells for .NET può essere eseguito con il livello di sicurezza Medium Trust. Non sono richiesti privilegi speciali per eseguire l’assembly in un ambiente ospitato. L’attendibilità 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 web hosting, la maggior parte di essi può essere eseguita solo con il livello di sicurezza Medium Trust. Aspose.Cells for .NET può soddisfare molto bene le loro necessità in questo senso.

Prestazione

Le prestazioni sono il fattore più critico nella scelta di qualsiasi approccio o metodologia per creare una soluzione.

Le prestazioni di un’applicazione VSTO ricade sugli approcci VBA e COM secondo il rapporto di alcuni utenti. Esistono diversi fattori che influenzano le prestazioni VSTO ed è importante mettere questi fattori in prospettiva.

  • Il costo iniziale di .NET è intrinsecamente costoso. Le applicazioni scritte con .NET devono sostenere l’overhead della compilazione Just-In-Time (JIT), quindi la compilazione JIT non può essere evitata.
  • Un altro fattore di prestazioni che influenza le applicazioni basate su VSTO ha a che fare con il costo delle chiamate attraverso gli spessi strati dell’interfaccia di automazione che racchiudono gli oggetti COM di Office Microsoft. VBA, costruito e ottimizzato per interagire con Microsoft Office, ha una distanza da percorrere più breve rispetto a .NET.
  • Infine, l’hosting di oggetti Excel nell’IDE di Visual Studio è costoso in termini di risorse. Le applicazioni VSTO hanno un footprint di memoria maggiore rispetto alle applicazioni VBA. Le applicazioni VSTO Excel utilizzano molta memoria e non la rilasciano mai nel sistema operativo fino a quando tutte le istanze di Microsoft Excel non vengono chiuse.

Se stai pensando di adottare VSTO come piattaforma di sviluppo per la tecnologia Office Microsoft, dedica un po' di tempo a esaminare le risorse per acquisire familiarità con questi attributi.

Inoltre, l’implicazione delle prestazioni del controllo costante degli aggiornamenti potrebbe non essere appropriata per la soluzione (server di distribuzione più lenti, connessioni di rete più lente o semplicemente non essere in grado di raggiungere frequentemente il server possono avere un impatto negativo sui tempi di caricamento).

Al contrario, Aspose.Cells for .NET è altamente scalabile, flessibile e veloce. In genere, le applicazioni di Office non sono progettate per essere utilizzate contemporaneamente da centinaia e migliaia di utenti; tuttavia, Aspose.Cells lo è. Lo API è stabile e può eseguire attività di fogli di calcolo in modo impeccabile sia su un singolo server, alimentando una singola applicazione o su una web farm con bilanciamento del carico che alimenta un’applicazione a livello aziendale.

Requisiti di sistema

Analizzando i requisiti di sistema per questi due approcci, scopriamo che VSTO è più costoso e necessita di più elementi essenziali.

VSTO ha un lungo elenco di prerequisiti:

  • Sistemi operativi supportati: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • .NET Versioni del framework supportate: solo .NET framework 2.0 o superiore.
  • Una o più delle seguenti edizioni di Visual Studio Tools per Office:
  • Microsoft Strumenti di Visual Studio 2005 per Office System Microsoft
  • Microsoft Strumenti di Visual Studio 2005 per Office System 2007 Microsoft
  • Edizione professionale di Visual Studio 2008
  • Edizione Team Suite di Visual Studio 2008
  • Una versione di Office Microsoft:
  • Microsoft Office Professional 2003 SP1
  • 2007 Microsoft Sistema ufficio

Aspose.Cells non richiede l’installazione di Microsoft Excel né sul client né sul server, in quanto è un motore di creazione di fogli di calcolo. Per visualizzare i documenti Excel Microsoft, tuttavia, è necessario almeno Microsoft Excel Viewer installato sul sistema.

  • Sistemi operativi supportati: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • .NET Versioni del framework supportate: sono supportati tutti i framework .NET, 1.0, 1.1, 2.0, 3.x ecc.

Installazione e distribuzione

L’installazione di VSTO può essere un compito grande e problematico. occasionalmente, un’installazione richiede di reinstallare manualmente alcuni aspetti degli strumenti e di registrarli manualmente. Può diventare complicato.

D’altra parte, Aspose.Cells for .NET è impacchettato in una singola DLL, quindi non è necessario installare app aggiuntive. Il componente viene utilizzato solo dalle applicazioni .NET e nessuna parte del codice del componente è progettata per attendere una risposta umana. Basta visitare Aspose.Cellspagina di download e scarica l’ultimo programma di installazione Aspose.Cells. Eseguire il file scaricato e seguire le istruzioni del programma di installazione. Quindi, per utilizzare il componente, fai riferimento a esso nel tuo progetto.

Esempio di attività

Per mostrare le differenze tra i due approcci, il codice seguente mostra come utilizzare entrambe le API VSTO e Aspose.Cells per riempire un file modello con i dati.

  1. Come modello viene utilizzato un file Excel Microsoft (TempBook.xls). La cartella di lavoro contiene alcuni fogli di lavoro con alcune celle piene di dati.
  2. Il codice di esempio inserisce 1000*20 record nel primo foglio di lavoro nel file Excel modello. Il foglio di lavoro è riempito con dati costanti (fittizi) nelle celle.

L’attività viene eseguita su un sistema con CPU Intel(R) Celeron(R) 2,40 GHz, 760 MB di RAM su sistema operativo Microsoft Windows XP Professional.

I segmenti di codice seguenti illustrano come eseguire queste attività con ogni API.

Codice VSTO

Aspose.Cells Cod

Risultati

I risultati hanno mostrato che l’utilizzo di VSTO API ha richiesto circa 2,5 minuti (circa oltre 150 secondi) per completare l’attività, mentre Aspose.Cells ha utilizzato meno di 1 secondo su un hardware comune con normali configurazioni di sistema.

Se il ciclo viene esteso, diciamo per riempire 10.000*20 celle, Aspose.Cells impiega circa 5,5 secondi per eseguire il lavoro.

Conclusione

Se stai pensando di utilizzare una tecnologia Office Microsoft in una soluzione aziendale, prima acquisisci familiarità con le alternative disponibili. Esegui alcuni test basati su diversi prodotti 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 in tutto il mondo e abbastanza scalabile da funzionare bene sotto carichi pesanti.

Le prestazioni di VSTO non sono ancora state perfezionate. È del tutto possibile che alcuni di questi problemi di prestazioni non siano correlati al VSTO stesso, ma che abbiano connessioni con i processi di compilazione JIT .NET. Tuttavia, ci sono alcuni dubbi sul fatto che le applicazioni VSTO vengano ridimensionate da sole all’aumentare del carico. Il modello più recente di VSTO non richiede che Excel risieda sul server Web per l’elaborazione dei documenti, ma penso che VSTO abbia ancora molta strada da fare per avere un impatto reale.