Управление листами рабочих книг Microsoft Excel.

Aspose.Cells предоставляет класс, Workbook, который представляет файл Excel. Класс Workbook содержит коллекцию Worksheets, которая позволяет получить доступ к каждому листу в файле Excel.

Лист представлен классом Worksheet. Класс Worksheet предоставляет широкий спектр свойств и методов для управления листами.

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

Для создания нового файла Excel программно:

  1. Создайте объект класса Workbook.
  2. Вызовите метод Add класса WorksheetCollection. Пустой лист автоматически добавляется в файл Excel. Его можно ссылаться, передавая индекс листа нового листа в коллекцию Worksheets.
  3. Получите ссылку на рабочий лист.
  4. Выполнение работы с рабочими листами.
  5. Сохраните новый файл Excel с новыми листами, вызвав метод Save класса Workbook.
// 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);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
int i = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[i];
// Setting the name of the newly added worksheet
worksheet.Name = "My Worksheet";
// Saving the Excel file
workbook.Save(dataDir + "output.out.xls");

Добавление листов в дизайнерскую электронную таблицу

Процесс добавления листов в дизайнерскую электронную таблицу такой же, как добавление нового листа, за исключением того, что файл Excel уже существует, поэтому должен быть открыт перед добавлением листов. Дизайнерскую электронную таблицу можно открыть с помощью класса Workbook.

// 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 InputPath = dataDir + "book1.xlsx";
// Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(InputPath, FileMode.Open);
// Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
// Adding a new worksheet to the Workbook object
int i = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[i];
// Setting the name of the newly added worksheet
worksheet.Name = "My Worksheet";
// Saving the Excel file
workbook.Save(dataDir + "output.xlsx");

Доступ к листам с использованием имени листа

Получите доступ к любому листу, указав его имя или индекс.

// 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 InputPath = dataDir + "book1.xlsx";
// Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(InputPath, FileMode.Open);
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
// Accessing a worksheet using its sheet name
Worksheet worksheet = workbook.Worksheets["Sheet1"];
Cell cell = worksheet.Cells["A1"];
Console.WriteLine(cell.Value);

Удаление листов с использованием имени листа

Чтобы удалить листы из файла, вызовите метод RemoveAt класса WorksheetCollection. Передайте имя листа методу RemoveAt, чтобы удалить конкретный лист.

// 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);
// Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(dataDir + "book1.xls", FileMode.Open);
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
// Removing a worksheet using its sheet name
workbook.Worksheets.RemoveAt("Sheet1");
// Save workbook
workbook.Save(dataDir + "output.out.xls");

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

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

// 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);
// Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(dataDir + "book1.xls", FileMode.Open);
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
// Removing a worksheet using its sheet index
workbook.Worksheets.RemoveAt(0);
// Save workbook
workbook.Save(dataDir + "output.out.xls");

Активация листов и установка активной ячейки на листе

Иногда вам может понадобиться, чтобы определенный лист был активным и отображался, когда пользователь открывает файл Microsoft Excel в Excel. Точно так же вы можете активировать определенную ячейку и установить полосы прокрутки, чтобы показать активную ячейку. Aspose.Cells способен выполнить все эти задачи.

Активный лист - это лист, над которым вы работаете: имя активного листа на вкладке жирным шрифтом по умолчанию.

Активная ячейка - это выбранная ячейка, в которую вводятся данные при начале набора текста. Одновременно может быть активна только одна ячейка. Активная ячейка выделяется толстой границей.

Активация листов и установка активной ячейки

Aspose.Cells предоставляет конкретные вызовы API для активации листа и ячейки. Например, свойство Aspose.Cells.WorksheetCollection.ActiveSheetIndex полезно для установки активного листа в книге. Точно так же свойство Aspose.Cells.Worksheet.ActiveCell используется для установки и получения активной ячейки на листе.

Чтобы убедиться, что горизонтальные или вертикальные полосы прокрутки находятся в позиции строки и столбца, которую вы хотите показать, используйте свойства Aspose.Cells.Worksheet.FirstVisibleRow и Aspose.Cells.Worksheet.FirstVisibleColumn.

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

// 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);
// Instantiate a new Workbook.
Workbook workbook = new Workbook();
// Get the first worksheet in the workbook.
Worksheet worksheet1 = workbook.Worksheets[0];
// Get the cells in the worksheet.
Cells cells = worksheet1.Cells;
// Input data into B2 cell.
cells[1, 1].PutValue("Hello World!");
// Set the first sheet as an active sheet.
workbook.Worksheets.ActiveSheetIndex = 0;
// Set B2 cell as an active cell in the worksheet.
worksheet1.ActiveCell = "B2";
// Set the B column as the first visible column in the worksheet.
worksheet1.FirstVisibleColumn = 1;
// Set the 2nd row as the first visible row in the worksheet.
worksheet1.FirstVisibleRow = 1;
// Save the excel file.
workbook.Save(dataDir + "output.xls");

Продвинутые темы