There are two ways to insert rows of data using ExcelWriter: ExcelTemplate's ExcelTemplate.BindData method and ExcelApplication's Worksheet.ImportData method.

ExcelTemplate.BindData

When data is imported into a template file that contains data markers with ExcelTemplate.BindData, ExcelWriter inserts a brand new row for each row of data in the data source. Content in the cells below the data markers will be pushed down as the new rows are added. Styles and formatting in the data marker row will be copied for each new row. Formulas that reference the data marker row will be updated to reflect the newly inserted rows.

For example, we start with a simple template file that contains data markers:

Some things to note:

Before
After

Before
After

Before
After

Worksheet.ImportData

How does ExcelWriter create rows when inserting data?

What happens to things in my template, when I insert data?

Import Data (application) vs. Bind Data (template)