把dataGridView数据保存到已有的Excel表中

Posted zhujie-com

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了把dataGridView数据保存到已有的Excel表中相关的知识,希望对你有一定的参考价值。

//先添加引用,步骤:1,引用--COM--Microsoft Excel 14.0 Object Library //14.0是2010版
// 2,using Excel = Microsoft.Office.Interop.Excel;
//// 3,using Microsoft.Office.Interop.Excel;
// 4,using System.Reflection;
private void button1_Click(object sender, EventArgs e)
{
Excel.Application xApp = null;//声明Excel程序
Excel.Workbook xBook = null;//声明工作薄
Excel.Worksheet xSheet = null;//声明工作表
Excel.Range cells = null;//声明单元格
try
{
if (dataGridView1.Rows.Count == 0) return;//判断控件是否有数据,没有就返回
xApp = new Excel.Application();//实例化Excel
xApp.Visible = false;//设置是否可见
xApp.ScreenUpdating = false;
xBook = xApp.Workbooks.Open(@"E:盘点.xlsm");//获取要写入EXCEL表的存放路径
xSheet = xBook.Sheets[1];//把工作表1赋值给变量
cells = xSheet.Cells;//把工作表1中的单元格集合赋值给变量
int y = xSheet.Cells[65536, 1].end[XlDirection.xlUp].row + 1;//获取excel表中有数据的最大行数+1

            //填充数据
            for (int i = 0; i < dataGridView1.RowCount - 1; i++)//遍历表格控件的所有行
            {
                for (int j = 0; j < dataGridView1.ColumnCount; j++)//遍历表格控件的所有列
                {
                    cells[y,j+1].value= dataGridView1[j, i].Value;//填充到excel表格
                }
                y++;//获取excel表中有数据的最大行数
            }
        }
        catch (Exception exception)
        {
        }
        finally
        {
            xApp.ScreenUpdating = true;
            xBook.Save();
            xSheet = null;
            xBook = null;
            xApp.Quit();//这一句非常重要,否则Excel对象不能从内存中退出
            xApp = null;
        }
        MessageBox.Show("已导出");
    }

以上是关于把dataGridView数据保存到已有的Excel表中的主要内容,如果未能解决你的问题,请参考以下文章

如何刷新绑定到已更新的 Access 数据库表的 DataGridView?

将 DataTable 绑定到已定义列的 Datagridview

DataGridView 绑定到已键入的 DataTable 时显示空单元格

java中如何把数据导入到已有的Excel中,数据不覆盖

把flutter项目作为aar添加到已有的Android工程上

把flutter项目作为aar添加到已有的Android工程上