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

Översikt

Microsoft Excel används flitigt av företag och privatpersoner i alla typer av branscher. Kalkylarksapplikationen är nära överallt och tillåter användare att inte bara lagra och organisera data, utan bygga komplexa modeller med formler och presentera data tydligt med avancerad formatering och diagram.

VSTO tillåter Microsoft Office-dokument att exekvera kod inslagen i en .NET-sammansättning. Det används för att utveckla applikationer som fungerar med Microsoft Office-filer och funktioner. Utvecklare har använt ASP, Office Web-komponenter och COM-interop i applikationer i flera år. Microsoft har förbättrat VSTO för att utveckla och distribuera applikationer och förbättra minneshanteringen. Men frågan kvarstår: är VSTO utformad för att vara enklare att använda och mer pålitlig än andra metoder som finns tillgängliga 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.

Asposeger en stor rad .NET, Java, Cloud och Android API. Aspose API:er inkluderar produkter som Aspose.Cells, Aspose.Words, Aspose.Pdf och Aspose.Slides, API:er som hjälper[utvecklare öppnar, ändrar, genererar, sparar, slår samman och konverterar 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]](https://products.aspose.com/cells/net/) ä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 funktionsrik komponent och erbjuder mycket mer än bara grundläggande dataexport. Med Aspose.Cells kan utvecklare exportera data, formatera kalkylblad, importera bilder, importera skapa och manipulera diagram, strömma Excel-data och spara i olika format. För att ta reda på mer om produkten och dess egenskaper:

Den här artikeln jämför VSTO och Aspose.Cells om 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 ett tillvägagångssätt.

.NET Ramkrav

VSTO kräver .NET Framework (inklusive Visual Studio Tools for Office SE Runtime) på klientsidan för att köra den slutliga applikationen. I de flesta företagsmiljöer, särskilt i webbscenarier, kan slutanvändare inte installera applikationsprogramvara och relaterade ramverk för körning. Bara detta krav gör VSTO-baserade applikationer problematiska. Det utesluter praktiskt taget standardapplikationer baserade på VSTO.

Tvärtom kräver Aspose.Cells for .NET inte nödvändigtvis ramverket .NET på klientsidan för det underliggande scenariot. Office-applikationerna som byggs med komponenten är lätta och fungerar garanterat på Microsoft Windows-system under betydande belastning.

Funktioner

Vilka funktioner som VSTO tillhandahåller beror på vilken kombination av VSTO- och Visual Studio-produkter du har installerat. Vanliga uppgifter som VSTO utför för Microsoft Office Excel 2003 inkluderar att lägga till data till Cells, skapa, öppna och spara arbetsböcker, lägga till, flytta och dölja kalkylblad, skydda kalkylblad, namngivna intervall, listobjekt, formatering av format, söka efter text i celler, sortera data, utskrift och Excel-formelberäkningar.

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

Aspose.Cells stöder även 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 kalkylblad som bildfiler.

säkerhet

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

Internetleverantörer (ISP) som är värd för flera applikationer från många olika företag använder ofta medelstor förtroendenivå för att säkerställa att applikationer inte kan läsa varandras data eller störa varandra. Av säkerhetsskäl kan Internetleverantörerna begränsa enskilda webbapplikationer på delade servrar till Partial Trust.

Aspose.Cells for .NET kan köras under Medium Trust säkerhetsnivå. Inga speciella privilegier krävs för att köra sammansättningen i en värdmiljö. Medelstort förtroende sätter begränsningar för vilka typer av delade systemresurser som applikationerna kan komma åt. Många webbapplikationer körs i webbhotellservrar. I webbhotellläge kan de flesta av dem bara köras under Medium Trust säkerhetsnivå. Aspose.Cells for .NET kan tillgodose deras behov mycket väl i detta avseende.

Prestanda

Prestanda är den mest kritiska faktorn när man väljer vilken metod eller metod som helst för att bygga en lösning.

Prestanda för en VSTO-applikation faller tillbaka på VBA- och COM-metoder enligt vissa användares rapport. Det finns flera faktorer som påverkar VSTOs prestanda, och det är viktigt att sätta dessa faktorer i perspektiv.

  • Startkostnaden .NET är i sig dyr. Ansökningar skrivna med .NET måste medföra overheaden 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 ringa igenom de tjocka lager av automationsskal som omsluter Microsoft Office COM-objekten. VBA, byggd och optimerad för att interagera med Microsoft Office, har ett kortare avstånd att resa än .NET.
  • Slutligen, värd för Excel-objekt i Visual Studio IDE är dyrt i termer av resurser. VSTO-applikationer har ett större minnesutrymme än VBA-applikationer. VSTO Excel-program använder mycket minne och släpp det aldrig tillbaka till operativsystemet förrän alla instanser av Microsoft Excel är stängda.

Om du funderar på att använda VSTO som en utvecklingsplattform för Microsoft Office-teknik, ägna lite tid åt att titta på resurser för att bekanta dig med dessa attribut.

Dessutom kanske prestandakonsekvensen av att alltid söka efter uppdateringar inte är lämplig för lösningen (långsammare distributionsservrar, långsammare nätverksanslutningar eller helt enkelt oförmögen att nå servern ofta kan påverka laddningstiderna negativt).

Däremot är Aspose.Cells for .NET mycket skalbar, flexibel och snabb. I allmänhet var Office-program inte utformade för att användas samtidigt av 100- och 1000-tals användare; dock Aspose.Cells är. API är stabil och kan utföra kalkylbladsuppgifter felfritt oavsett om den är på en enda server, driver en enda applikation eller på en belastningsbalanserad webbfarm som driver en företagsomfattande applikation.

Systemkrav

Genom att analysera systemkraven för dessa två tillvägagångssätt finner vi att VSTO är dyrare och behöver mer väsentlighet.

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

  • Operativsystem som stöds: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • .NET Framework-versioner stöds: endast .NET ramverk 2.0 eller senare.
  • En eller flera av följande utgåvor av Visual Studio Tools for Office:
  • Microsoft Visual Studio 2005-verktyg för Microsoft Office System
  • Microsoft Visual Studio 2005 Verktyg för 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 Kontorssystem

Aspose.Cells kräver inte att Microsoft Excel installeras vare sig på klienten eller på servern, eftersom det är en motor för att skapa kalkylblad. För att visa Microsoft Excel-dokument måste du dock ha minst Microsoft Excel Viewer installerat på systemet.

  • Operativsystem som stöds: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • .NET Framework-versioner 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 om delar av verktygen och registrerar dem manuellt också. Det kan bli komplicerat.

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

Exempel på uppgift

För att visa skillnaderna mellan de två metoderna visar 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 kalkylblad med några få celler fyllda med data.
  2. Exempelkoden placerar 1000*20 poster på det första kalkylbladet i mallens Excel-fil. Arbetsbladet är fyllt med konstanta (dummy) data in i cellerna.

Uppgiften utförs på ett system som har Intel(R) Celeron(R) CPU 2,40 GHz, 760 MB RAM på Microsoft Windows XP Professional operativsystem.

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

VSTO-kod

Aspose.Cells Kod

Resultat

Resultaten visade att användningen av VSTO API tog cirka 2,5 minuter (ca. ö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 slingan förlängs, säg att fylla 10 000*20 celler, tar Aspose.Cells cirka 5,5 sekunder att utföra jobbet.

Slutsats

Om du funderar på att använda en Microsoft Office-teknik i en affärslösning, bekanta dig först med tillgängliga alternativ. Utför några tester baserade på olika produkter och utsätt dem för en mängd olika verkliga förhållanden som belastning och stress för att se hur bra de presterar.

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

Prestanda för VSTO är inte förfinad ännu. Det är mycket möjligt att vissa av dessa prestandaproblem inte relaterar till VSTO i sig utan har kopplingar till .NET JIT-kompileringsprocesser. Men fortfarande finns det vissa tvivel om VSTO-applikationerna skulle skalas upp sig själva när belastningen ökade. Den nyare modellen av VSTO kräver inte att Excel finns på webbservern för dokumentbearbetning, men jag tror att VSTO har en lång väg att gå för att få ett verkligt genomslag.