Различные способы открытия файлов
Как открыть файл Excel через путь
Разработчики могут открывать файл Microsoft Excel, используя его путь к файлу на локальном компьютере, указав его в конструкторе класса Workbook. Просто передайте путь в конструктор как строку. Aspose.Cells автоматически определит тип формата файла.
// 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!"); |
Как открыть файл Excel через поток
Также просто открыть файл Excel как поток. Для этого используйте перегруженную версию конструктора, принимающую объект Stream, который содержит файл.
// 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(); |
Как открыть файл только с данными
Чтобы открыть файл только с данными, используйте классы 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); | |
// 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!"); |
Как загрузить только видимые листы
При загрузке Workbook иногда вам может понадобиться только данные в видимых листах книги. Aspose.Cells позволяет пропустить данные в невидимых листах при загрузке книги. Для этого создайте пользовательскую функцию, которая наследует класс LoadFilter и передайте его экземпляр в свойство 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); |
Вот реализация класса CustomnLoad, на которую ссылается вышеуказанный фрагмент.
// 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; | |
} | |
} | |
} |