Diverse modalità per aprire i file

Come aprire un file Excel tramite un percorso

I programmatori possono aprire un file Microsoft Excel utilizzando il percorso del file sul computer locale specificandolo nel costruttore della classe Workbook. Basta passare il percorso nel costruttore come stringa. Aspose.Cells rileverà automaticamente il tipo di formato del file.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Opening through Path
// Creating a Workbook object and opening an Excel file using its file path
Workbook workbook1 = new Workbook(dataDir + "Book1.xlsx");
Console.WriteLine("Workbook opened using path successfully!");

Come aprire un file Excel tramite uno stream

È anche semplice aprire un file Excel come uno stream. Per farlo, utilizzare una versione sovraccaricata del costruttore che prende l’oggetto Stream che contiene il file.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Opening through Stream
// Create a Stream object
FileStream fstream = new FileStream(dataDir + "Book2.xls", FileMode.Open);
// Creating a Workbook object, open the file from a Stream object
// That contains the content of file and it should support seeking
Workbook workbook2 = new Workbook(fstream);
Console.WriteLine("Workbook opened using stream successfully!");
fstream.Close();

Come aprire un file con solo dati

Per aprire un file solo con i dati, utilizza le classi LoadOptions e LoadFilter per impostare l’attributo correlato e le opzioni delle classi per il file modello da caricare.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Load only specific sheets with data and formulas
// Other objects, items etc. would be discarded
// Instantiate LoadOptions specified by the LoadFormat
LoadOptions loadOptions = new LoadOptions(LoadFormat.Xlsx);
// Set LoadFilter property to load only data & cell formatting
loadOptions.LoadFilter = new LoadFilter(LoadDataFilterOptions.CellData);
// Create a Workbook object and opening the file from its path
Workbook book = new Workbook(dataDir + "Book1.xlsx", loadOptions);
Console.WriteLine("File data imported successfully!");

Come caricare solo fogli visibili

Mentre carichi un Workbook a volte potresti aver bisogno solo dei dati nei fogli di lavoro visibili in un cartella di lavoro. Aspose.Cells ti permette di saltare i dati nei fogli di lavoro invisibili durante il caricamento di una cartella di lavoro. Per farlo, crea una funzione personalizzata che eredita la classe LoadFilter e passa la sua istanza alla proprietà LoadOptions.LoadFilter

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string sampleFile = "output.xlsx";
string samplePath = dataDir + sampleFile;
// Create a sample workbook
// and put some data in first cell of all 3 sheets
Workbook createWorkbook = new Workbook();
createWorkbook.Worksheets["Sheet1"].Cells["A1"].Value = "Aspose";
createWorkbook.Worksheets.Add("Sheet2").Cells["A1"].Value = "Aspose";
createWorkbook.Worksheets.Add("Sheet3").Cells["A1"].Value = "Aspose";
createWorkbook.Worksheets["Sheet3"].IsVisible = false;
createWorkbook.Save(samplePath);
// Load the sample workbook
LoadOptions loadOptions = new LoadOptions();
loadOptions.LoadFilter = new CustomLoad();
Workbook loadWorkbook = new Workbook(samplePath, loadOptions);
Console.WriteLine("Sheet1: A1: {0}", loadWorkbook.Worksheets["Sheet1"].Cells["A1"].Value);
Console.WriteLine("Sheet1: A2: {0}", loadWorkbook.Worksheets["Sheet2"].Cells["A1"].Value);
Console.WriteLine("Sheet1: A3: {0}", loadWorkbook.Worksheets["Sheet3"].Cells["A1"].Value);

Ecco l’implementazione della classe CustomnLoad menzionata nel frammento precedente.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
class CustomLoad : LoadFilter
{
public override void StartSheet(Worksheet sheet)
{
if (sheet.IsVisible)
{
// Load everything from visible worksheet
this.LoadDataFilterOptions = LoadDataFilterOptions.All;
}
else
{
// Load nothing
this.LoadDataFilterOptions = LoadDataFilterOptions.Structure;
}
}
}