Aspose.Cells for Java jämfört med konkurrenter med öppen källkod
Översikt
De flesta affärsscenarier kräver sofistikerade rapporter som är rika på innehåll och fokuserade på behoven för de specifika beslut eller uppgifter som den allmänna ledningen kommer att använda dem för. De kräver också vissa metoder för datainsamling, analys och gränssnitt med databassystem.
En vanlig lösning är att använda kalkylblad för datainsamling, analys och som ett presentationsverktyg. Lösningen bör kunna skapa fullt formaterade Microsoft Excel-filer som kan analysera ett affärsscenario och, idealiskt, utöka dessa grundläggande funktioner för att utforska processerna för att fånga in och exportera data till andra allmänt använda kontorsprogram. Dessa utvecklingar kan innefatta att använda de inbyggda funktionerna i Microsoft Excel.
Vi stöter på olika kalkylbladskomponenter på marknaden idag som verkligen lovar funktionsrika API:er för kalkylarkshantering. Här gör vi en funktionsanalys av Aspose.Cells for Java jämfört med dess konkurrenter med öppen källkod JExcelAPI och POI:s HSSF. Låt mig först ge en introduktion av de tre.
Aspose.Cells for Java
Aspose.Cells for Java är en flexibel komponent som gör det möjligt för Java-applikationer att skapa och hantera Excel-kalkylblad utan Microsoft Excel installerat på systemet (klient eller server). Till skillnad från liknande produkter från andra leverantörer stöder Aspose.Cells for Java inte bara generering av kalkylblad och grundläggande filformateringsfunktioner, utan också ett antal avancerade funktioner. Dessa avancerade funktioner gör det enkelt för utvecklare att manipulera kalkylbladsinnehåll, cellformatering och filskyddsalternativ.
Aspose.Cells for Java kan också importera data till kalkylblad från olika datakällor, lägga till vanliga och komplexa matematiska, datum/tid, finansiella, textformler och funktioner, importera bilder (alla större format stöds inklusive BMP, GIF, JPG43, 4076, 616, 4016, W1MF43, 4816, 516, 5000 och mer), skapa kommentarer, skapa ritobjekt och kontroller och utföra en rad andra uppgifter.
Aspose.Cells for Java stöder även tillägg, VBA och makron.
Öppna och spara
Förutom att stödja vanliga funktioner som att skapa eller läsa inbyggda Excel-filer, erbjuder Aspose.Cells for Java också många värdefulla funktioner som att spara och öppna Excel-filer (Excel 97 - Excel 2007) till och från strömmar, importera och exportera data från en ResultSet och array,
Aspose.Cells kan importera diagram, namngivna intervall, sidhuvuden och sidfötter med alla attribut som Microsoft Excel tillhandahåller, infoga hyperlänkar och bilder och importera formler från ett designerkalkylblad.
Formatering
Kalkylbladsdataformatering är viktigt eftersom det kan ändra innebörden av dina data. Om du planerar att skriva ut ett kalkylblad, mejla det till kunder eller visa det för din chef måste du fundera på om det är formaterat på ett tittarvänligt sätt. Noggrann användning av färg, skuggning, ramar, teckensnitt, nummerformatering, justering, indrag och orientering kan göra skillnaden mellan en rörig dataklot och ett kalkylblad som är lätt att arbeta med och förstå.
Aspose.Cells for Java ger flexibiliteten att enkelt rita gränser runt celler och cellområden. Dessutom kan AIP tillämpa teckensnittsinställningar (familj och typ, stil, storlek, färg och justering) och skugga celler med bakgrundsmönster. API är tillräckligt effektiv för att du kan formatera en hel rad eller kolumn, ställa in justeringar, radbryta och rotera texten i celler.
Aspose.Cells for Java stöder alla typer av talformat inklusive allmänt format, siffror i decimalnoteringar, valutasymboler, procentsatser, vetenskapligt format, datum/tidsvärden och till och med anpassade talformat.
Aspose.Cells tillåter utvecklare att automatiskt anpassa rader och kolumner i en åtgärd, samt konfigurera alla typer av sidinställningar i en bekväm API: topp, vänster, botten, höger, sidhuvud och sidfotsmarginaler, orientering - stående eller liggande - skalning, pappersstorlek, utskriftsområde, upprepade rader och kolumner och många fler.
Unika funktioner
Det finns också ett antal unika funktioner som utvecklare bara hittar i Aspose.Cells for Java, till exempel stöd för ett brett utbud av format inklusive XLS, XLT, XLSX, CSV, CSV, 0761406, 81406 de XML, 81406, 81406 och XML, CSV, CSV, CSV, CSV, 071416 de 071406 de 861406 de 461406 de
API tillåter också utvecklare att lägga till en kopia av ett befintligt kalkylblad (med fullständigt innehåll, bilder och diagram) till en fil, ställa in gradientbakgrund för diagram genom API, skapa kommentarer, ställa in lokal- och regioninställningar, autofilter och sidbrytningar , ställ in komplexa formler, villkorlig formatering, alla typer av skyddsalternativ som introducerats i Microsoft Excel XP eller högre, och manipulera namngivna intervall.
Vidare lägger Aspose.Cells till ett anpassat diagram API och en effektiv formelberäkningsmotor.
Försök med Aspose.Cells for Java
Aspose.Cells for Java har en enorm lista med funktioner. Läs mer om funktionerna och programmeringsguidendokumentationen ochonline demos.
Prova komponenten för att se skillnaden mellan den och dess konkurrenter. Utvärderingsversionen är helt gratis utan tidsbegränsning.Ladda ner utvärderingsversionen gratis.
Andra API:er
JExcelAPI
JExcelAPI är en Java API som används för att läsa, skriva och ändra Excel-kalkylblad. Det är en öppen källkod Java API som gör att Java-utvecklare kan läsa Excel-kalkylblad och skapa Excel-kalkylblad dynamiskt. Dessutom innehåller den en mekanism som gör att Java-applikationer kan läsa ett kalkylblad, ändra celler och skriva det nya kalkylbladet.
I skrivande stund har den en begränsad uppsättning funktioner. Den stöder: läsning och skrivning av den ursprungliga Excel-filen Microsoft (Excel97-2003) endast i filformatet XLS. Den har ett begränsat stöd för formelberäkning. Det kan manipulera teckensnitt, stödja nummer- och datumformatering, ändra befintliga kalkylblad, lokalinställningar, bevara diagram (men tillåter inte utvecklare att skapa eller manipulera diagram), infoga bilder och så vidare.
Begränsat diagramstöd
JExcelApi har begränsat stöd för diagram: Det stöder inte att skapa och manipulera diagram. När du kopierar ett kalkylblad som innehåller ett diagram skrivs diagrammet ut till det genererade kalkylarket (så länge som bladet som innehåller diagrammet innehåller andra data samt diagrammet). All bildinformation bevaras vid kopiering av excel-filer, men när du lägger till en bild i ett kalkylblad stöds endast bilder i PNG-format.
Kan inte kopiera arbetsblad
Det finns ingen API för att kopiera arbetsblad i eller mellan arbetsböcker direkt. Denna uppgift kan utföras på ett indirekt sätt, men kräver en del arbete. Använd till exempel loopar och kopiera cell för cell med metoden WritableCell.copyTo() som kommer att producera en djup kopia. Formatet är dock endast ytligt kopierat, så du måste skaffa cellformatet och använda kopieringskonstruktorn för det, och sedan anropa WritableCell.setCellFormat() på cellen du just har kopierat. Det är ett ganska stort jobb.
Ingen optimering
En annan begränsning är att JExcelAPI inte utför optimeringar för att minska filstorleken, vi borde inte bli förvånade över att se en utdatafil som genereras av komponenten med en enorm storlek i MB.
JExcelAPI har ingen API för automatisk anpassning av rader eller kolumner. Du måste skriva kod som skannar cellerna i varje kolumn, beräknar den maximala längden och sedan göra anrop till WritableSheet.setColumnView() och Writable Sheet.setRowView() i enlighet med detta.
Saknade funktioner
Det finns också några fler hinder: API stöder inte pivottabeller och rullgardinslistor. Den har begränsade valideringsalternativ att ställa in på cellerna. Alternativen för sidinställningar och utskrift stöds inte helt, till exempel upprepade rader och kolumner och inte alla typer av skyddsalternativ (inklusive lösenordsskyddsrelaterade ark) stöds. Det stöder inte heller datasortering, automatisk filtrering av data, villkorlig formatering, ritobjekt, kontroller och många fler värdefulla funktioner.
POI-HSSF
HSSF är komponenten i POI som läser och skriver Excel-kalkylblad. Den har en utökad uppsättning funktioner jämfört med JExcelAPI, inklusive att läsa och skriva inbyggd Microsoft Excel-fil (Excel97-2003 - XLSX OOXML-filformat stöds inte ännu), formatering av celler (nummerformat, teckensnitt, färger, ramar, justeringar etc.) , slå samman celler, alternativ för sidinställningar, import av bilder, former, namngivna intervall, skapa kommentarer, sidhuvuden och sidfötter, hyperlänkar, automatisk anpassning av rader och kolumner etc.
Begränsat diagramstöd
Det finns några kända begränsningar för POI-HSSF API. Till exempel kan du för närvarande inte skapa sjökort. Du kan dock skapa ett diagram i Excel, ändra diagramdatavärdena med HSSF och skriva ut ett nytt kalkylblad. En annan är pivottabellstöd, generering av pivottabeller är inte möjligt.
Formelberäkning
Även om POI:s org.apache.poi.hssf.usermodel stöder formler men den saknar en rik formelberäkningsmotor. Det stöder formler som innehåller cellreferenssträngar, heltal och flyttalsliteraler, relativa eller absoluta referenser, aritmetiska och logiska operatorer men det stöder inte matrisformler, unära operatorer och 3D-referenser.
Saknade funktioner
HSSF API stöder inte heller pivottabeller. Den har begränsade datavalideringsalternativ att ställa in på cellerna. Det stöder inte heller funktioner som datasortering och automatisk filtrering av data.
Funktionsjämförelse
Följande tabell försöker ge en funktionsöversikt om hur Aspose.Cells for Java matchar komponenterna med öppen källkod (som nämns ovan) även om det inte är en utmaning att täcka alla funktioner som tillhandahålls av de inblandade produkterna. Detta är bara en disposition som tas vid någon specifik tidpunkt och det är mycket möjligt att de saknade funktionerna kan stödjas när du ska läsa upp dokumentet.
Funktion | JExcelAPI | POI:s HSSF | Aspose.Cells for Java |
---|---|---|---|
Filformat | |||
Läs- och skrivfilformat (XLS, XLT, XLSX, CSV, SpreadsheetML, Tab Delimited, TXT, XML och HTML) | Stöds delvis | Stöds delvis | Stöds |
Öppna filen och spara i en stream | Stöds | ||
Konvertera Excel-fil till PDF-dokument | Stöds | ||
Lösenordsskyddade filer | Stöds | Stöds | |
Manipulera kalkylbladsinnehåll | |||
Ändra dokumentegenskaperna för Excel-filer | Stöds | ||
Exportera kalkylbladsdata till en array | Stöds | ||
Importera data från en ResultSet | Stöds | ||
Importera data från en array, samling | Stöds | ||
Lägg till en kopia av befintligt kalkylblad (allt innehåll inklusive bilder och diagram) | Stöds delvis | Stöds delvis | Stöds |
Importera bilder | Stöds | ||
Importera diagram | Stöds | ||
Ställ in gradientbakgrund för diagram med API | Stöds | ||
Skydda kalkylblad, inklusive innehåll, objekt och scenarier | Stöds delvis | Stöds | Stöds |
Skapa automatiska filter med API | Stöds | ||
Sidinställningsfunktioner (överst, vänster, botten, höger, sidhuvud och sidfotsmarginaler, orientering - stående eller liggande, skalning, pappersstorlek, utskriftsområde, upprepade rader och kolumner) | Stöds delvis | Stöds | Stöds |
Horisontella och vertikala sidbrytningar genom API | Stöds | Stöds | Stöds |
Kopiera och flytta kalkylblad inom och mellan arbetsböcker | Stöds | Stöds | |
Infoga och ta bort rader och kolumner | Stöds | Stöds | |
Anpassa rader och kolumner automatiskt | Stöds | Stöds | |
Kopiera rader och kolumner | Stöds | ||
Datasortering | Stöds | ||
Spåra prejudikat och anhöriga | Stöds | ||
Automatisk filtrering | Stöds | ||
Datavalidering (alla typer) | Stöds delvis | Stöds delvis | Stöds |
Importera formler från designerkalkylblad | Stöds delvis | Stöds delvis | Stöds |
Ställ in komplexa formler genom API | Stöds | ||
Villkorlig formatering | Stöds | Stöds | |
Aktivera ark och göra en aktiv Cell i arbetsboken. | Stöds | Stöds | Stöds |
|Avancerade funktioner|||| | Smarta markörer||| Stöds| | Skapa standarddiagram (kolumn, stapel, linje, paj, scatter, area, munk, radar, yt 3D, bubbla, lager, cylinder, kon, pyramid etc.)||| Stöds| | Anpassat diagram API||| Stöds| | Inställningar för dokumentegenskaper||| Stöds| | Avancerade Excel XP-skyddsalternativ||| Stöds| | Tillägg, VBA, makron||| Stöds| | Manipulera namngivna intervall| Stöds| Stöds| Stöds| | Pivottabeller||| Stöds| | Skapa vanliga ritobjekt, former och kontroller|| Stöds| Stöds| |Infoga kontroller i diagram||| Stöds| | Formelberäkningsmotor||| Stöds| | Hitta API| Stöds| Stöds| Stöds|