把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 时显示空单元格