Olika sätt att öppna filer

Så öppnar du en Excel-fil via en sökväg

Utvecklare kan öppna en Microsoft Excel-fil genom att ange dess filväg på den lokala datorn genom att specificera det i klasskonstruktören Workbook. Ange helt enkelt filvägen i konstruktören som en string. Aspose.Cells kommer automatiskt att upptäcka filformatet.

// 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!");

Så öppnar du en Excel-fil via en ström

Det är också enkelt att öppna en Excel-fil som en ström. För att göra detta, använd en överlagrad version av konstruktören som tar Stream-objektet som innehåller filen.

// 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();

Så öppnar du en fil med endast data

För att öppna en fil med endast data, använd LoadOptions och LoadFilter klasserna för att ställa in de relaterade attributen och alternativen för klasserna för mönsterfilen som ska laddas.

// 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!");

Så lastar du bara synliga ark

När du laddar en Workbook kan det hända att du endast behöver data i synliga arkmallar i en arbetsbok. Aspose.Cells låter dig hoppa över data i osynliga arkmallar när du laddar en arbetsbok. För att göra detta kan du skapa en anpassad funktion som ärver från klassen LoadFilter och skicka dess instans till egenskapen 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);

Här är implementeringen av klassen CustomnLoad som refereras till i ovanstående kodsnutt.

// 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;
}
}
}