Управление рабочими листами

Aspose.Cells предоставляет классIWorkbook который представляет файл Excel.IWorkbook класс содержитРабочие листыколлекция, которая обеспечивает доступ к каждому рабочему листу в файле Excel.

Рабочий лист представленрабочий лист учебный класс.рабочий листКласс предоставляет широкий спектр методов для управления рабочими листами.

Добавление рабочих листов в новый файл Excel

Чтобы создать новый файл Excel программно:

  1. Создайте объект израбочий листучебный класс.
  2. ПозвонитеДобавлять методIWorksheetCollection коллекция. Пустой рабочий лист автоматически добавляется в файл Excel. На него можно сослаться, передав индекс листа нового рабочего листа вIWorksheetCollectionколлекция.
  3. Получите ссылку на рабочий лист.
  4. Выполнить работу с рабочими листами.
  5. Сохраните новый файл Excel с новыми рабочими листами, вызвавIWorkbook учебный классСохранятьметод.
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Output directory path
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");
//Path of output excel file
StringPtr outputManageWorksheets = outDir->StringAppend(new String("outputManageWorksheets.xlsx"));
//Create workbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Adding a new worksheet to the Workbook object
int i = workbook->GetIWorksheets()->Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(i);
// Setting the name of the newly added worksheet
worksheet->SetName(new String("My Worksheet"));
// Save the Excel file.
workbook->Save(outputManageWorksheets);
StringPtr msg = new String("New worksheet added successfully with in a workbook!");
Console::WriteLine(msg);

Доступ к рабочим листам с помощью индекса листов

В следующем примере кода показано, как получить доступ к любому рабочему листу, указав его индекс.

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\");
//Path of input excel file
StringPtr sampleManageWorksheets = srcDir->StringAppend(new String("sampleManageWorksheets.xlsx"));
//Load the sample Excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleManageWorksheets);
//Accessing a worksheet using its index
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
//Access the cell by its name.
intrusive_ptr<ICell> cell = worksheet->GetICells()->GetObjectByIndex(new String("F7"));
//Print the value of cell F7
StringPtr val = cell->GetStringValue();
//Print the value on console.
Console::Write(new String("Value of cell F7: "));
Console::WriteLine(val);

Удаление рабочих листов с помощью индекса листов

Удаление рабочих листов по имени хорошо работает, когда известно имя рабочего листа. Если вы не знаете имя рабочего листа, используйте перегруженную версиюRemoveAtметод, который принимает индекс листа рабочего листа вместо его имени листа.

//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\");
//Output directory path
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");
//Path of input excel file
StringPtr sampleManageWorksheets = srcDir->StringAppend(new String("sampleManageWorksheets.xlsx"));
//Path of output excel file
StringPtr outputManageWorksheets = outDir->StringAppend(new String("outputManageWorksheets.xlsx"));
//Load the sample Excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleManageWorksheets);
//Removing a worksheet using its sheet index
workbook->GetIWorksheets()->RemoveAt(0);
//Save the Excel file.
workbook->Save(outputManageWorksheets);