Jämför VSTO med Aspose.Cells for .NET

Översikt

Microsoft Excel används i stor utsträckning av företag och individer inom alla typer av branscher. Kalkylbladsapplikationen är nära nog allomfattande och möjliggör inte bara lagring och organisering av data, utan även uppförandet av komplexa modeller med formler och presentation av data på ett tydligt sätt med avancerad formatering och diagram.

VSTO gör det möjligt för Microsoft Office-dokument att köra kod inslagen i en .NET-assembly. Det används för att utveckla applikationer som fungerar med Microsoft Office-filer och funktioner. Utvecklare har använt ASP, Office webbkomponenter och COM Interop i applikationer under många år. Microsoft har förbättrat VSTO för att göra utveckling och distribution av applikationer samt förbättra minneshantering. Men frågan kvarstår: är VSTO designat för att vara lättare att använda och mer tillförlitligt än andra tillgängliga metoder idag? Utvecklare vill arbeta med lösningar som inte sviker dem när det gäller förbättrad prestanda, säkerhet, skalbarhet, stabilitet, tillförlitlighet eller funktioner.

Aspose erbjuder en stor linje av .NET, Java, Cloud och Android API:er. Aspose API:er inkluderar produkter som Aspose.Cells, Aspose.Words, Aspose.Pdf, och Aspose.Slides, API:er som hjälper utvecklare att öppna, ändra, generera, spara, sammanfoga och konvertera dokument i olika format inklusive XLS, XLSX, DOC, DOCX, HTML, PDF, PPT.

I den här artikeln jämför vi VSTO med Aspose.Cells for .NET.

Aspose.Cells är ett oberoende Microsoft Excel kalkylbladsmanipulation API som läser och skriver Microsoft Excel-kalkylblad utan Microsoft Excel installerat på klient- eller serversidan. Aspose.Cells är ett funktionrikt komponent och erbjuder mycket mer än bara grundläggande dataexport. Med Aspose.Cells kan utvecklare exportera data, formatera kalkylblad, importera bilder, skapa och manipulera diagram, strömma Excel-data och spara till olika format. För mer information om produkten och dess funktioner:

Den här artikeln jämför VSTO och Aspose.Cells på olika aspekter relaterade till Microsoft Excel. Listan är inte komplett men den representerar några frågor som beslutsfattare måste förstå innan de fattar ett slutgiltigt beslut innan de antar en strategi.

.NET Framework-krav

VSTO kräver .NET Framework (inklusive Visual Studio Tools for Office SE Runtime) på klientens sida för att kunna köra den slutgiltiga applikationen. I de flesta företagsmiljöer, särskilt i webbscenarier, kan inte användarna installera applikationsprogramvara och de relaterade runtime-ramverken. Denna krav ensam gör VSTO-baserade applikationer problematiska. Det utesluter i princip färdiga applikationer baserade på VSTO.

Å andra sidan, Aspose.Cells for .NET kräver inte nödvändigtvis .NET Framework på klientens sida för det underliggande scenariot. Office-applikationer som byggts med komponenten är lätta och garanterade att fungera på Microsoft Windows-system under betydande belastning.

Funktioner

Funktionerna som VSTO tillhandahåller beror på vilken kombination av VSTO och Visual Studio-produkter du har installerat. Vanliga uppgifter som utförs av VSTO för Microsoft Office Excel 2003 inkluderar att lägga till data i celler, skapa, öppna och spara arbetsböcker, lägga till, flytta och dölja arbetsblad, skydda arbetsblad, namngivna områden, listobjekt, stilmallar, söka text i celler, sortera data, skriva ut och utföra Excel-formelberäkningar.

Aspose.Cells tillhandahåller allt som behövs för att hantera Microsoft Office Excel-filer plus mycket, mycket mer. API:et ger utvecklare stora resultat med minsta möjliga ansträngning. Aspose.Cells tillhandahåller många kraftfulla, tidsbesparande funktioner. API:et tillhandahåller lättanvända gränssnitt för alla typer av kalkylbladshantering, täcker nästan alla funktioner som Microsoft Excel tillhandahåller. Alla uppgifter som listas för VSTO kan enkelt utföras av Aspose.Cells.

Aspose.Cells stöder också flera avancerade funktioner, inklusive stöd för Smart Markers, import och export av data till och från ett antal datakällor, objekt och Excel-filer, stöd för COM-klienter (ASP-klient) Interoperabilitet med komponenten, konvertering av Excel-filer till PDF-format, spara Excel-diagram och arbetsblad som bildfiler.

Säkerhet

Som standard kräver VSTO-applikationer Full Trust-behörigheter för att köras eftersom det inte tillåter delvis betrodda anropare. För att låsa ner en webbapplikation och ge en ytterligare nivå av applikationsisolering i en värdmiljö kan du använda kodåtkomstskydd för att begränsa de resurser applikationen kan komma åt och de privilegierade operationer den kan utföra. Men du måste investera lite tid och ansträngning för att förstå .NET-säkerhet.

Internetleverantörer (ISPer) som härbärgerar flera applikationer från många olika företag använder ofta medelnivå på förtroende för att se till att applikationer inte kan läsa varandras data eller störa varandra. Av säkerhetsskäl kan ISPer begränsa individuella webbapplikationer på delade servrar till delvis förtroende.

Aspose.Cells for .NET kan köras under Medium Trust-säkerhetsnivå. Inga särskilda privilegier krävs för att köra montering i en värdmiljö. Medeltrust sätter restriktioner på vilka delade systemresurser applikationerna kan komma åt. Många webbapplikationer körs på webbhotellsservrar. I webbhotellsläge kan de flesta av dem bara köras under Medium Trust-säkerhetsnivå. Aspose.Cells for .NET kan väl tillgodose deras behov i detta avseende.

Prestanda

Prestanda är den mest avgörande faktorn när man väljer vilken strategi eller metodik man ska använda för att bygga en lösning.

Prestandan för en VSTO-applikation förlitar sig på VBA- och COM-metoder enligt vissa användares rapporter. Det finns flera faktorer som påverkar VSTO:s prestanda, och det är viktigt att sätta dessa faktorer i perspektiv.

  • .NET-startkostnaden är i grunden dyr. Applikationer skrivna med .NET måste bära kostnaden för Just-In-Time (JIT) kompilering, så JIT-kompileringen kan inte undvikas.
  • En annan prestandafaktor som påverkar VSTO-baserade applikationer har att göra med kostnaden för att göra anrop genom de tjocka lagren av automationspaket som lindar in Microsoft Office COM-objekten. VBA, byggt och optimerat för att interagera med Microsoft Office, har kortare avstånd att resa än .NET.
  • Slutligen är att värdprocesserna för Excel-objekt i Visual Studio IDE dyr i termer av resurser. VSTO-applikationer har en större minnesbelastning än VBA-applikationer. VSTO Excel-applikationer använder mycket minne och frigör det aldrig tillbaka till OS:et förrän alla instanser av Microsoft Excel är stängda.

Om du överväger att anta VSTO som en utvecklingsplattform för Microsoft Office-teknik, spendera lite tid på att undersöka resurser för att bekanta dig med dessa egenskaper.

Dessutom kan prestandapåverkan av att alltid kontrollera uppdateringar vara olämplig för lösningen (långsammare distributions servrar, långsammare nätverksanslutningar eller helt enkelt omöjligheten att nå servern frekvent kan negativt påverka laddningstiderna).

I motsats till detta är Aspose.Cells for .NET högst skalbar, flexibel och snabb. Generellt sett var inte Office-applikationer utformade för att användas samtidigt av hundratals och tusentals användare; men Aspose.Cells är det. API:et är stabilt och kan utföra kalkylbladsuppgifter felfritt antingen på en enda server, som driver en enda applikation eller på en lastbalanserad webbserver som driver en företagsomfattande applikation.

Systemkrav

Genom att analysera systemkraven för dessa två metoder finner vi att VSTO är dyrare och kräver fler nödvändigheter.

VSTO har en lång lista med förutsättningar:

  • Stödda operativsystem: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • .NET Framework-versioner som stöds: endast .NET Framework 2.0 eller senare.
  • En eller flera av följande utgåvor av 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
    • Visual Studio 2008 Professional Edition
    • Visual Studio 2008 Team Suite Edition
    • En version av Microsoft Office:
    • Microsoft Office Professional 2003 SP1
    • 2007 Microsoft Office system

Aspose.Cells kräver inte att Microsoft Excel är installerat vare sig på klienten eller på servern, eftersom det är en kalkylbladsskapartjänst. För att se Microsoft Excel-dokument krävs dock åtminstone att Microsoft Excel Viewer är installerat på systemet.

  • Stödda operativsystem: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • .NET Framework-versioner som stöds: Alla .NET-ramverk stöds, 1.0, 1.1, 2.0, 3.x etc.

Installation och distribution

Att installera VSTO kan vara en stor och besvärlig uppgift. Ibland kräver en installation att du manuellt installerar vissa delar av verktygen och registrerar dem manuellt också. Det kan bli komplicerat.

Å andra sidan är Aspose.Cells for .NET paketerat i en enda DLL så det finns ingen anledning att installera ytterligare appar. Komponenten används enbart av .NET-applikationer och ingen del av komponentkoden är avsedd att vänta på ett mänskligt svar. Besök bara Aspose.Cells nedladdningssida och ladda ner den senaste Aspose.Cells-installationsprogrammet. Kör den nedladdade filen och följ installationsinstruktionerna. Sedan, för att använda komponenten, referera till den i ditt projekt.

Exempeluppgift

För att visa skillnaderna mellan de två tillvägagångssätten visas koden nedan hur man använder både VSTO och Aspose.Cells API:er för att fylla en mallfil med data.

  1. En Microsoft Excel-fil (TempBook.xls) används som mall. Arbetsboken innehåller några arbetsblad med några celler fyllda med data.
  2. Exemplet sätter 1000*20 poster på det första arbetsbladet i den angivna Excel-filen. Arbetsbladet fylls med konstant (fiktiv) data i cellerna.

Uppgiften utförs på ett system med Intel(R) Celeron(R) CPU 2.40 GHz, 760 MB RAM på Microsoft Windows XP Professional-operativsystem.

De kodsegment nedan illustrerar hur man utför dessa uppgifter med varje API.

VSTO-kod

Aspose.Cells-kod

Resultat

Resultaten visade att användning av VSTO API tog cirka 2,5 minuter (ungefär över 150 sekunder) att slutföra uppgiften medan Aspose.Cells använde mindre än 1 sekund på en vanlig hårdvara med normala systemkonfigurationer.

Om loopen utökas, säg för att fylla 10 000*20 celler, tar det ungefär 5,5 sekunder för Aspose.Cells att utföra uppgiften.

Slutsats

Om du överväger att använda en Microsoft Office-teknologi i en företagslösning, bli först bekant med tillgängliga alternativ. Gör några tester baserat på olika produkter och utsätt dem för olika verkliga förhållanden såsom belastning och stress för att se hur väl de presterar.

Aspose.Cells är en stabil och mogen produkt med världsomspännande kundbas och tillräckligt skalbar för att prestera väl under tunga belastningar.

VSTO:s prestanda är ännu inte förfinad. Det är ganska möjligt att vissa av dessa prestandaproblem inte har någon koppling till VSTO självt utan snarare har kopplingar till .NET JIT-kompileringsprocesserna. Men det finns fortfarande vissa tvivel om VSTO-applikationerna skulle skalas själva när belastningen ökar. Den nyare modellen av VSTO kräver inte att Excel ska vara boendes på webbservern för dokumenthantering men jag tror att VSTO har en lång väg att gå för att göra en verklig påverkan.