Insert or Delete Rows in an Excel Worksheet with C++
Aspose.Cells offers two methods for inserting and deleting rows: Cells.InsertRows and Cells.DeleteRows. These methods are optimized for performance and do the job very quickly.
To insert or remove a number of rows, we recommend that you always use the Cells.InsertRows and Cells.DeleteRows methods instead of using the Cells.InsertRow or DeleteRow methods in a loop.
Aspose.Cells works in the same way as Microsoft Excel does. When rows or columns are added, the worksheet content is shifted down and to the right. When rows or columns are removed, the worksheet content is shifted up or to the left. Any references in other worksheets and cells are updated when rows are added or removed.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input excel file
U16String inputFilePath = srcDir + u"book1.xlsx";
// Path of output excel file
U16String outputFilePath = outDir + u"out_book1.out.xlsx";
// Create workbook
Workbook workbook(inputFilePath);
// Get the first worksheet in the book
Worksheet sheet = workbook.GetWorksheets().Get(0);
// Insert 10 rows at row index 2 (insertion starts at 3rd row)
sheet.GetCells().InsertRows(2, 10);
// Delete 5 rows now. (8th row - 12th row)
sheet.GetCells().DeleteRows(7, 5);
// Save the excel file
workbook.Save(outputFilePath);
std::cout << "Rows inserted and deleted successfully!" << std::endl;
Aspose::Cells::Cleanup();
}