Копирование и перемещение листов внутри и между книгами
Иногда вам требуется несколько листов с общим форматированием и вводом данных. Например, если вы работаете с квартальными бюджетами, вам может понадобиться создать книгу с листами, содержащими одни и те же заголовки столбцов, заголовки строк и формулы. Есть способ сделать это: создав один лист, а затем скопировав его три раза.
Aspose.Cells поддерживает копирование или перемещение листов внутри или между книгами. Листы включают данные, форматирование, таблицы, матрицы, диаграммы, изображения и другие объекты с наивысшей степенью точности.
Копирование и перемещение листов
Копирование листа внутри книги
Начальные шаги одинаковы для всех примеров.
- Создайте две книги с некоторыми данными в Microsoft Excel. Для целей этого примера мы создали две новые книги в Microsoft Excel и ввели некоторые данные на листах.
- FirstWorkbook.xlsx (3 листа).
- SecondWorkbook.xlsx (1 лист).
- Скачайте и установите Aspose.Cells:
- Загрузить Aspose.Cells for .NET.
- Установите его на вашем компьютере для разработки. Все Aspose компоненты при установке работают в режиме оценки. Режим оценки не имеет временных ограничений и вставляет только водяные знаки в созданные документы.
- Создайте проект:
- Запустите Visual Studio.Net.
- Создайте новое консольное приложение.
- Добавьте ссылки:
- Добавьте ссылку на Aspose.Cells в проект. Например, добавьте ссылку на …\Program Files\Aspose\Aspose.Cells\Bin\Net1.0\Aspose.Cells.dll
- Скопируйте лист в книге. Первый пример копирует первый лист (Copy) внутри FirstWorkbook.xlsx.
При выполнении кода лист с именем Copy копируется внутри FirstWorkbook.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); | |
// Open a file into the first book. | |
Workbook excelWorkbook1 = new Workbook(dataDir + @"FirstWorkbook.xlsx"); | |
// Copy the first sheet of the first book with in the workbook | |
excelWorkbook1.Worksheets[2].Copy(excelWorkbook1.Worksheets["Copy"]); | |
// Save the file. | |
excelWorkbook1.Save(dataDir + @"FirstWorkbookCopied_out.xlsx"); |
Перемещение листа внутри книги
Приведенный ниже код показывает, как переместить лист с одной позиции в книге на другую. При выполнении кода лист с именем Move из индекса 1 перемещается на индекс 2 внутри FirstWorkbook.xlsx.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Open a file into the first book. | |
Workbook excelWorkbook2 = new Workbook(dataDir + @"FirstWorkbook.xlsx"); | |
// Move the sheet | |
excelWorkbook2.Worksheets["Move"].MoveTo(2); | |
// Save the file. | |
excelWorkbook2.Save(dataDir + @"FirstWorkbookMoved_out.xlsx"); |
Копирование листа между книгами Excel
При выполнении кода лист с именем Copy копируется в SecondWorkbook.xlsx с именем Sheet2.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Open a file into the first book. | |
Workbook excelWorkbook3 = new Workbook(dataDir + @"FirstWorkbook.xlsx"); | |
// Open a file into the second book. | |
Workbook excelWorkbook4 = new Workbook(dataDir + @"SecondWorkbook.xlsx"); | |
// Add new worksheet into second Workbook | |
excelWorkbook4.Worksheets.Add(); | |
// Copy the first sheet of the first book into second book. | |
excelWorkbook4.Worksheets[1].Copy(excelWorkbook3.Worksheets["Copy"]); | |
// Save the file. | |
excelWorkbook4.Save(dataDir + @"CopyWorksheetsBetweenWorkbooks_out.xlsx"); |
Перемещение листа между книгами Excel
При выполнении кода лист с именем Move перемещается из FirstWorkbook.xlsx в SecondWorkbook.xlsx с именем Sheet3.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Open a file into the first book. | |
Workbook excelWorkbook5 = new Workbook(dataDir + @"FirstWorkbook.xlsx"); | |
//Create another Workbook. Open a file into the Second book. | |
Workbook excelWorkbook6 = new Workbook(dataDir + @"SecondWorkbook.xlsx"); | |
//Add New Worksheet | |
excelWorkbook6.Worksheets.Add(); | |
//Copy the sheet from first book into second book. | |
excelWorkbook6.Worksheets[2].Copy(excelWorkbook5.Worksheets[2]); | |
//Remove the copied worksheet from first workbook | |
excelWorkbook5.Worksheets.RemoveAt(2); | |
//Save the file. | |
excelWorkbook5.Save(dataDir + @"FirstWorkbookWithMove_out.xlsx"); | |
//Save the file. | |
excelWorkbook6.Save(dataDir + @"SecondWorkbookWithMove_out.xlsx"); |