Modifiche all API pubblica in Aspose.Cells 8.9.1
API aggiunte
Sorgenti dei caratteri configurabili
Aspose.Cells for .NET ha esposto una serie di classi per fornire il supporto per le fonti di caratteri configurabili per la visualizzazione dei fogli di calcolo. Ecco l’elenco delle classi aggiunte con Aspose.Cells for .NET 8.9.1.
- La classe FontConfigs specifica le impostazioni del carattere.
- La classe FontSourceBase è una classe di base astratta per le classi che consentono all’utente di specificare varie fonti di caratteri.
- La classe FileFontSource rappresenta il singolo file di caratteri TrueType memorizzato nel file system.
- La classe FolderFontSource rappresenta la cartella che contiene file di caratteri TrueType.
- La classe MemoryFontSource rappresenta il singolo file di caratteri TrueType memorizzato in memoria.
- L’enumerazione FontSourceType specifica il tipo di una fonte di caratteri.
Con le modifiche sopra menzionate, il Aspose.Cells for .NET consente di impostare i caratteri come dettagliato di seguito.
- Imposta una cartella di caratteri personalizzata durante l’utilizzo del metodo FontConfigs.SetFontFolder.
- Imposta più cartelle di caratteri personalizzate durante l’utilizzo del metodo FontConfigs.SetFontFolders.
- Imposta le fonti di caratteri da una cartella di caratteri personalizzata, un singolo file di caratteri o dati di caratteri da un array di byte durante l’utilizzo del metodo FontConfigs.SetFontSources.
Ecco uno scenario di utilizzo semplice dei metodi menzionati in precedenza.
C#
// 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 subfolders for font files
FontConfigs.SetFontFolder(fontFolder1, true);
// Setting both font folders with SetFontFolders method
// Second parameter prohibits the API to search the subfolders 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
MemoryFontSource sourceMemory = new MemoryFontSource(System.IO.File.ReadAllBytes(fontFile));
//Setting font sources
FontConfigs.SetFontSources(new FontSourceBase[] { sourceFolder, sourceFile, sourceMemory});
Aspose.Cells for .NET consente anche di configurare la sostituzione dei caratteri. Questo meccanismo è utile quando un carattere richiesto non è disponibile sulla macchina dove deve avvenire la conversione. Gli utenti possono fornire un elenco di nomi di caratteri come alternativa al carattere originariamente richiesto. Per ottenere questo, le API Aspose.Cells hanno esposto il metodo FontConfigs.SetFontSubstitutes che accetta 2 parametri. Il primo parametro è di tipo stringa, che dovrebbe essere il nome del carattere che deve essere sostituito. Il secondo parametro è un array di tipo stringa. Gli utenti possono fornire un elenco di nomi di caratteri come sostituzione al nome del carattere originale (specificato nel primo parametro).
Ecco uno scenario di utilizzo semplice del metodo FontConfigs.SetFontSubstitutes.
C#
// Substituting the Arial font with Times New Roman & Calibri
FontConfigs.SetFontSubstitutes("Arial", new string[] { "Times New Roman", "Calibri" });
Il Aspose.Cells for .NET ha inoltre fornito i mezzi per raccogliere informazioni su quali fonti e sostituzioni sono state impostate.
- Il metodo FontConfigs.GetFontSources restituisce un array di tipo FontSourceBase contenente l’elenco delle fonti di caratteri specificate. Nel caso in cui non siano state impostate fonti, il metodo FontConfigs.GetFontSources restituirà un array vuoto.
- Il metodo FontConfigs.GetFontSubstitutes accetta un parametro di tipo stringa che consente di specificare il nome del carattere per il quale è stata impostata una sostituzione. Nel caso in cui non sia stata impostata alcuna sostituzione per il nome del carattere specificato, il metodo FontConfigs.GetFontSubstitutes restituirà null.
Aggiunta dell’interfaccia IFilePathProvider e della proprietà HtmlSaveOptions.FilePathProvider
Aspose.Cells for .NET 8.9.1 consente di ottenere/impostare l’interfaccia IFilePathProvider per esportare i fogli di lavoro in file HTML separati. Queste nuove API sono utili in scenari in cui i collegamenti ipertestuali in un foglio di lavoro puntano a una posizione in un altro foglio di lavoro, e l’esigenza dell’applicazione è quella di renderizzare ciascun foglio di lavoro in un file HTML separato. Implementando l’interfaccia IFilePathProvider è possibile mantenere i suddetti collegamenti ipertestuali integri, indipendentemente dal fatto che puntino a una posizione in un file HTML risultante separato.
Di seguito è riportato il semplice scenario di utilizzo della proprietà HtmlSaveOptions.FilePathProvider.
C#
// Load a spreadsheet in an instance of Workbook
var book = new Workbook(dir + "sample.xlsx");
// Save each Worksheet to separate HTML file
for (int i = 0; i < book.Worksheets.Count; i++)
{
book.Worksheets.ActiveSheetIndex = i;
// Create an instance of HtmlSaveOptions & set FilePathProvider property
var options = new HtmlSaveOptions
{
ExportActiveWorksheetOnly = true,
FilePathProvider = new FilePathProvider()
};
// Write HTML file to disc
book.Save(dir + string.Format(@"sheet{0}.html", i), options);
}
Ecco come implementare l’interfaccia IFilePathProvider.
C#
public class FilePathProvider : IFilePathProvider
{
public FilePathProvider()
{
}
/// <summary>
/// Gets the full path of the file by Worksheet name when exporting Worksheet to html separately.
/// So the references among the Worksheets can be exported correctly.
/// </summary>
/// <param name="sheetName">Worksheet name</param>
/// <returns>the full path of the file</returns>
public string GetFullName(string sheetName)
{
if ("Sheet2".Equals(sheetName))
{
return "sheet1.html";
}
else if ("Sheet3".Equals(sheetName))
{
return "sheet2.html";
}
return "";
}
}
Aggiunta della proprietà CopyOptions.ReferToDestinationSheet e sovraccarico per il metodo Cells.CopyRows
Aspose.Cells for .NET API ha esposto la proprietà di tipo booleano CopyOptions.ReferToDestinationSheet insieme a un sovraccarico del metodo Cells.CopyRows al fine di facilitare l’operazione di copia delle righe quando le righe da copiare contengono anche un grafico e il relativo origine dati. Gli sviluppatori possono utilizzare queste nuove API per puntare l’origine dati del grafico ai fogli di lavoro di origine o destinazione.
Di seguito è riportato il semplice scenario d’uso.
C#
// Load a sample spreadsheet in an instance of Workbook
var book = new Workbook(dir + "sample.xlsx");
// Access the worksheet containing the chart & its data source
var source = book.Worksheets[0];
// Add a new worksheet to the collection
var destination = book.Worksheets[book.Worksheets.Add()];
// Initialize CopyOptions and set its ReferToDestinationSheet property to true
CopyOptions options = new CopyOptions();
options.ReferToDestinationSheet = true;
// Copy the rows
destination.Cells.CopyRows(source.Cells, 0, 0, source.Cells.MaxDisplayRange.RowCount, options);
// Save the result on disc
book.Save(dir + "output.xlsx");
Aggiunta della proprietà CalculationOptions.Recursive
Aspose.Cells for .NET 8.9.1 ha esposto la proprietà di tipo booleano CalculationOptions.Recursive. Impostando la proprietà CalculationOptions.Recursive su true e passando l’oggetto al metodo Workbook.CalculateFormula, le API di Aspose.Cells calcoleranno in modo ricorsivo le celle dipendenti quando calcolano le celle che dipendono da altre celle.
Di seguito è riportato il semplice scenario d’uso.
C#
// Load a sample spreadsheet in an instance of Workbook
var book = new Workbook(dir + "sample.xlsx");
// Initialize CalculationOptions & set Recursive property to true
var options = new CalculationOptions();
options.Recursive = true;
// Recalculate formulas
book.CalculateFormula(options);
API deprecate
Proprietà CellsHelper.FontDir obsoleta
Si consiglia di utilizzare il metodo FontConfigs.SetFontFolder(string, bool) con ricorsività della cartella impostata su false.
Proprietà CellsHelper.FontDirs obsoleta
Utilizzare il metodo FontConfigs.SetFontFolders(string[], bool) con ricorsività della cartella impostata su false al posto.
Proprietà Obsoleta CellsHelper.FontFiles
Utilizzare invece il metodo FontConfigs.SetFontSources(FontSourceBase[]).