Assuming that DataGridView is bounded with datasource, like DataTable:
private void btnSaveReport_Click(object sender, EventArgs e)
{
document = new Spire.Doc.Document();
document.LoadFromFile(samplePath);
Dictionary<string, string> dictReplace = GetReplaceDictionary();
foreach (KeyValuePair<string, string> kvp in dictReplace)
{
document.Replace(kvp.Key, kvp.Value, true, true);
}
DataTable dt = DataGridView1.DataSource as DataTable;
foreach(DataRow dr in dt.Rows)
{
}
document.SaveToFile(docxPath, FileFormat.Docx);
ToViewFile(docxPath);
}