Offentliga API ändringar i Aspose.Cells 8.9.1
Tillagda API:er
Konfigurerbara typsnittskällor
Aspose.Cells for Java har exponerat ett antal klasser för att ge stöd för konfigurerbara typsnittskällor för att rendera kalkylblad. Här är listan över klasser som har lagts till med Aspose.Cells for Java 8.9.1.
- FontConfigs-klassen specificerar typsnittsinställningarna.
- FontSourceBase-klassen är en abstrakt basklass för klasser som tillåter användaren att specificera olika typsnittskällor.
- FileFontSource-klassen representerar den enskilda TrueType-typsnittsfilen som lagras i filsystemet.
- FolderFontSource-klassen representerar mappen som innehåller TrueType-typsnittsfilerna.
- MemoryFontSource-klassen representerar den enskilda TrueType-typsnittsfilen som är lagrad i minnet.
- FontSourceType-uppräkningen specificerar typen av typsnittskälla.
Med ovanstående nämnda ändringar på plats, tillåter Aspose.Cells for Java att ställa in typsnitten enligt följande.
- Ange en anpassad typsnittsmapp medan du använder metoden FontConfigs.setFontFolder.
- Ange flera anpassade typsnittsmappar medan du använder metoden FontConfigs.setFontFolders.
- Ange typsnittskällor från en anpassad typsnittsmapp, en enskild typsnittsfil eller typsnittsdata från en byte-array medan du använder metoden FontConfigs.setFontSources.
Här finns ett enkelt användningsscenario för ovanstående metoder.
Java
//Defining string variables to store paths to font folders & font file
String fontFolder1 = "D:/Arial";
String fontFolder2 = "D:/Calibri";
String fontFile = "D:/Arial/arial.ttf";
//Setting first font folder with setFontFolder method
//Second parameter directs the API to search the sub folders for font files
FontConfigs.setFontFolder(fontFolder1, true);
//Setting both font folders with setFontFolders method
//Second parameter prohibits the API to search the sub folders for font files
FontConfigs.setFontFolders(new String[] { fontFolder1, fontFolder2 }, false);
//Defining FolderFontSource
FolderFontSource sourceFolder = new FolderFontSource(fontFolder1, false);
//Defining FileFontSource
FileFontSource sourceFile = new FileFontSource(fontFile);
//Defining MemoryFontSource
byte[] bytes = Files.readAllBytes(new File(fontFile).toPath());
MemoryFontSource sourceMemory = new MemoryFontSource(bytes);
//Setting font sources
FontConfigs.setFontSources(new FontSourceBase[] { sourceFolder, sourceFile, sourceMemory});
Aspose.Cells for Java tillåter också att konfigurera typsnittpåläggningen. Denna mekanism är användbar när ett krävt typsnitt inte är tillgängligt på maskinen där konverteringen ska äga rum. Användare kan ange en lista med typsnamn som alternativ till det ursprungligen krävda typsnittet. För att uppnå detta har Aspose.Cells API:erna exponerat metoden FontConfigs.setFontSubstitutes som accepterar 2 parametrar. Den första parametern är av typen sträng, vilken bör vara namnet på det typsnitt som behöver ersättas. Den andra parametern är en array av typen sträng. Användare kan ange en lista med typsnittsnamn som ersättning för det ursprungliga typsnittsnamnet (angeras i den första parametern).
Här är ett enkelt användningsscenario av metoden FontConfigs.SetFontSubstitutes.
Java
//Substituting the Arial font with Times New Roman & Calibri
FontConfigs.setFontSubstitutes("Arial", new String[] { "Times New Roman", "Calibri" });
Aspose.Cells for Java har också tillhandahållit medel för att samla information om vilka källor och ersättningar som har ställts in.
- FontConfigs.getFontSources-metoden returnerar en array av typen FontSourceBase som innehåller listan över specificerade typsnittskällor. Om inga källor har ställts in kommer FontConfigs.getFontSources-metoden att returnera en tom array.
- FontConfigs.getFontSubstitutes-metoden accepterar en parameter av typen sträng som möjliggör att ange typsnittsnamnet för vilket en ersättning har ställts in. Om ingen ersättning har ställts in för det angivna typsnittsnamnet kommer FonConfigs.getFontSubstitutes-metoden att returnera null.
Lägg till IFilePathProvider-gränssnittet och HtmlSaveOptions.FilePathProvider-egenskapen
Aspose.Cells for Java 8.9.1 tillåter att få/sätta IFilePathProvider för att exportera kalkylblad till separata HTML-filer. Dessa nya API:er är användbara i scenarier där hyperlänkar i ett kalkylblad pekar på en plats i ett annat kalkylblad, där applikationskravet är att rendera varje kalkylblad till en separat HTML-fil. Genom att implementera IFilePathProvider kan ovannämnda hyperlänkar behållas intakta oavsett om de pekar på en plats i en separat resulterande HTML-fil.
Följande är det enkla användningsscenario av HtmlSaveOptions.FilePathProvider-egenskapen.
Java
//Load a spreadsheet in an instance of Workbook
Workbook book = new Workbook(dir + "sample.xlsx");
//Save each Worksheet to separate HTML file
for (int i = 0; i < book.getWorksheets().getCount(); i++)
{
book.getWorksheets().setActiveSheetIndex(i);
//Create an instance of HtmlSaveOptions & set FilePathProvider property
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExportActiveWorksheetOnly(true);
options.setFilePathProvider(new IFilePathProvider()
{
public String getFullName(String sheetName)
{
if ("Sheet2".equals(sheetName))
{
return "sheet1.html";
}
else if ("Sheet3".equals(sheetName))
{
return "sheet2.html";
}
return "";
}
});
//Write HTML file to disc
book.save(dir + "sheet"+ i +".html", options);
}
Lade till CopyOptions.ReferToDestinationSheet-egenskapen och överlagring för Cells.copyRows-metoden.
Aspose.Cells for Java API har exponerat den Booleska typen CopyOptions.ReferToDestinationSheet-egenskapen tillsammans med en överlagring av Cells.copyRows-metoden för att underlätta kopieringsoperationen när rader som ska kopieras även innehåller en diagram och dess datakälla. Utvecklare kan använda dessa nya API:er för att peka diagrammets datakälla till käll- eller destinationskalkylbladen.
Följande är det enkla användningscenariot.
Java
//Load a sample spreadsheet in an instance of Workbook
Workbook book = new Workbook(dir + "sample.xlsx");
//Access the worksheet containing the chart & its data source
Worksheet source = book.getWorksheets().get(0);
//Add a new worksheet to the collection
Worksheet destination = book.getWorksheets().get(book.getWorksheets().add());
//Initialize CopyOptions and set its ReferToDestinationSheet property to true
CopyOptions options = new CopyOptions();
options.setReferToDestinationSheet(true);
//Copy the rows
destination.getCells().copyRows(source.getCells(), 0, 0, source.getCells().getMaxDisplayRange().getRowCount(), options);
//Save the result on disc
book.save(dir + "output.xlsx");
Tillagd CalculationOptions.Recursive Egendom
Aspose.Cells for Java 8.9.1 har exponerat den booleska typen CalculationOptions.Recursive egendom. Att sätta CalculationOptions.Recursive egendomen till true och skicka objektet till Workbook.calculateFormula-metoden riktar Aspose.Cells API: erna att beräkna de beroende cellerna rekursivt när beräkning av celler som beror på andra celler.
Följande är det enkla användningscenariot.
Java
//Load a sample spreadsheet in an instance of Workbook
Workbook book = new Workbook(dir + "sample.xlsx");
//Initialize CalculationOptions & set Recursive property to true
CalculationOptions options = new CalculationOptions();
options.setRecursive(true);
//Recalculate formulas
book.calculateFormula(options);
Obsoletterade API:er
Föråldrad CellsHelper.FontDir Egendom
Det rekommenderas att använda FontConfigs.setFontFolder(String, boolean) metoden med rekursiv mapp istället.
Föråldrad CellsHelper.FontDirs Egendom
Använd FontConfigs.setFontFolders(String[], boolean) metoden med rekursiv mapp istället.
Föråldrad CellsHelper.FontFiles Egendom
Använd FontConfigs.setFontSources(FontSourceBase[]) metoden istället.