Копирование и перемещение рабочих листов
Иногда вам действительно нужно несколько рабочих листов с общим форматированием и данными. Например, если вы работаете с квартальными бюджетами, вам может потребоваться создать книгу с листами, содержащими одинаковые заголовки столбцов, заголовки строк и формулы. Есть способ сделать это: создав один лист, а затем скопировав его.
Aspose.Cells поддерживает копирование и перемещение рабочих листов внутри или между книгами. Рабочий лист, полностью с данными, форматированием, таблицами, матрицами, диаграммами, изображениями и другими объектами, копируется с высочайшей точностью.
Перемещение или копирование листов с использованием Microsoft Excel
Следующие шаги включаются в копирование и перемещение рабочих листов внутри или между книгами в Microsoft Excel.
- Чтобы переместить или скопировать листы в другую рабочую книгу, откройте рабочую книгу, которая будет получать листы.
- Переключитесь на рабочую книгу, которая содержит листы, которые вы хотите переместить или скопировать, а затем выберите листы.
- На меню Правка щелкните Переместить или скопировать лист.
- В диалоговом окне В книгу щелкните книгу, которая получит листы.
- Чтобы переместить или скопировать выбранные листы в новую книгу, щелкните Новая книга.
- В поле Перед листом щелкните лист, перед которым вы хотите вставить перемещенные или скопированные листы.
- Чтобы скопировать листы вместо их перемещения, выберите флажок Создать копию.
Копирование листов внутри книги с помощью Aspose.Cells
Aspose.Cells предоставляет перегруженный метод AddCopy(), который используется для добавления рабочего листа в коллекцию и копирования данных из существующего рабочего листа. Одна версия метода принимает индекс исходного рабочего листа в качестве параметра. Другая версия принимает имя исходного рабочего листа. Приведенный ниже пример показывает, как скопировать существующий рабочий лист внутри книги.
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Source directory path | |
U16String srcDir(u"..\\Data\\01_SourceDirectory\\"); | |
//Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
//Path of input excel file | |
U16String sampleCopyingAndMovingWorksheets = srcDir + u"sampleCopyingAndMovingWorksheets.xlsx"; | |
//Path of output excel file | |
U16String outputCopyingAndMovingWorksheets = outDir + u"outputCopyingAndMovingWorksheets.xlsx"; | |
//Create workbook | |
Workbook workbook(sampleCopyingAndMovingWorksheets); | |
//Create worksheets object with reference to the sheets of the workbook. | |
WorksheetCollection sheets = workbook.GetWorksheets(); | |
//Copy data to a new sheet from an existing sheet within the workbook. | |
sheets.AddCopy(u"Sheet1"); | |
//Save the Excel file. | |
workbook.Save(outputCopyingAndMovingWorksheets); | |
std::cout << "Worksheet copied successfully with in a workbook!" << std::endl; | |
Aspose::Cells::Cleanup(); |
Перемещение листов в рамках рабочей книги
Aspose.Cells предоставляет метод MoveTo(), который используется для перемещения рабочего листа в другое место в той же книге. Метод принимает индекс целевого рабочего листа в качестве параметра. Приведенный ниже пример показывает, как переместить рабочий лист в другое место внутри книги.
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Source directory path | |
U16String srcDir(u"..\\Data\\01_SourceDirectory\\"); | |
//Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
//Path of input excel file | |
U16String sampleCopyingAndMovingWorksheets = srcDir + u"sampleCopyingAndMovingWorksheets.xlsx"; | |
//Path of output excel file | |
U16String outputCopyingAndMovingWorksheets = outDir + u"outputCopyingAndMovingWorksheets.xlsx"; | |
//Create workbook | |
Workbook workbook(sampleCopyingAndMovingWorksheets); | |
//Create worksheets object with reference to the sheets of the workbook. | |
WorksheetCollection sheets = workbook.GetWorksheets(); | |
//Access the first sheet | |
Worksheet sheet = sheets.Get(0); | |
//Move the first sheet to the third position in the workbook. | |
sheet.MoveTo(2); | |
//Save the Excel file. | |
workbook.Save(outputCopyingAndMovingWorksheets); | |
std::cout << "Worksheet moved successfully with in a workbook!" << std::endl; | |
Aspose::Cells::Cleanup(); |