将数据导入带模板EXCEL

时间:2023-03-08 23:50:03
将数据导入带模板EXCEL

在EXCEL模板里设置好样式和格式

将数据导入带模板EXCEL

点击事件

private void btnReport_Click(object sender, EventArgs e)
        {
            //将数据导入Excel中并设置Excel基本样式
            ExcelHandle excelHandle = new ExcelHandle();
            excelHandle.GenerateStudentsReports(this.dgvStudents);
        }

/// <summary>
        /// 将学生信息导入Excel中-使用Excel 模板
        /// </summary>
        public void GenerateStudentsReports(DataGridView dgvStudents)
        {
            //创建Excel对象
            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
            //获取模板文件的路径
            string fileName = Environment.CurrentDirectory + "/template/stuReport.xls";
            //Open方法打开这个模板文件
            excel.Application.Workbooks.Open(fileName);

//循环将DataGridView中的数据赋值到Excel中
            int i = 0, j = 0;
            for (i = 0; i < dgvStudents.Rows.Count; i++)
            {
                //读excel前2列的数据
                for (j = 0; j < 2; j++)
                {
                    excel.Cells[i + 3, j + 1] = dgvStudents.Rows[i].Cells[j].Value.ToString();
                }
                //读excel前第3列的数据,设置性别
                excel.Cells[i + 3, 3] =
                    dgvStudents.Rows[i].Cells["Gender"].Value.ToString();
                //读excel前第4列到第9列的数据
                for (j = 3; j < 9; j++)
                {
                    excel.Cells[i + 3, j + 1] = dgvStudents.Rows[i].Cells[j + 1].Value.ToString();
                }
            }
            excel.Visible =true ;

}