Winform中Datagird数据输出到Excel表格,C# .NET
2015-01-21 14:23
471 查看
首先犹豫要保存文件,则savefiledialog控件是必不可少的,则必须在一切操作之前,进行savefiledialog控件的属性设置,通常设置的属性有:
DefaultExt
默认后缀名
Filter
后缀名列表(|)
InitialDirectory默认文件保存路径,使用System.IO中的类Directory的方法GetCurrentDirectory()获取当前工作目录的路径
同时处理,文件保存对话框点击取消的事件处理,对DialogResult进行处理。
至此,还应该处理,同名是,替换原文件的处理,并在此获得文件路径。
String filename = file.FileName;//file为savefiledialog对象
FileInfo info = new FileInfo(filename);
if(filename.Trim()==””)
return;//注意文件名不能空
文件如果存在,将原文件删除:
if(info.Exits)
try
{
info.Delete();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
return;
}
设置完后,我们需要对数据大小进行检索,防止无法存储
计算出行总数,列总数,该变量在写入数据时,需要定位行列。判断行列总数时,保证列号0<column<=255,0<row<=65536
至此文件保存对话框已经设置完毕,现在需要对文件进行创建,并写入内容
首先需要Office
的COM,在命名空间加上Excel=Microsoft.Office.Interop.Excel;
先创建一个excel进程,再在进程创建一个工作簿workbook,再创建一个表,最后写入内容到表中即可。
//创建excel应用
Excel.Application excel=null;
//工作簿
Excel.Workbook workbook=null;
//表
Excel.Worksheet sheet=null;
//使用try尝试去对这些变量进行初始化
try
{
excel = new Excel.Application();
workbook = excel.Workbooks.Add(Missing.Value);//此处需要System.Reflection命名空间支持
sheet = (Excel.Worksheet)workbook.ActiveSheet;
//变量初始化结束
//写入数据
//先写入表头
int firstColumn=1;
for(int i=0;i<columncount;i++)//columncount为列总数
{
if(this.datagridview1.Columns[i].Visiable==true)
{
excel.Cells[1,firsColumn] = this.datagridview1.Columns[i].HeaderText;//此处注意,在excel单元格中下标从1开始
firstColumn++;
}
}
//写入内容,双重循环
for(int i = 0; i<rowcount;i++)
{
firstColumn=1;
for(int j=0 ;j<columncount;j++)
{
If(this.datagridview1.Column[j].Visiable==true)
{ excel.Cells[row+2,firstColumn]=this.datagridview1.Rows[i].Cells[j].Value.ToString().Trim();
firstColumn++;
}
}
}
}
catch
{
MessageBox.Show(“”,””);
}
MessageBox.Show(filename+”导出成功”);
至此,就保存完了
写代码的过程中,多使用try catch异常处理,在捕获异常后,要及时对进程关闭,并且置为null保证安全
首先犹豫要保存文件,则savefiledialog控件是必不可少的,则必须在一切操作之前,进行savefiledialog控件的属性设置,通常设置的属性有:
DefaultExt
默认后缀名
Filter
后缀名列表(|)
InitialDirectory默认文件保存路径,使用System.IO中的类Directory的方法GetCurrentDirectory()获取当前工作目录的路径
同时处理,文件保存对话框点击取消的事件处理,对DialogResult进行处理。
至此,还应该处理,同名是,替换原文件的处理,并在此获得文件路径。
String filename = file.FileName;//file为savefiledialog对象
FileInfo info = new FileInfo(filename);
if(filename.Trim()==””)
return;//注意文件名不能空
文件如果存在,将原文件删除:
if(info.Exits)
try
{
info.Delete();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
return;
}
设置完后,我们需要对数据大小进行检索,防止无法存储
计算出行总数,列总数,该变量在写入数据时,需要定位行列。判断行列总数时,保证列号0<column<=255,0<row<=65536
至此文件保存对话框已经设置完毕,现在需要对文件进行创建,并写入内容
首先需要Office
的COM,在命名空间加上Excel=Microsoft.Office.Interop.Excel;
先创建一个excel进程,再在进程创建一个工作簿workbook,再创建一个表,最后写入内容到表中即可。
//创建excel应用
Excel.Application excel=null;
//工作簿
Excel.Workbook workbook=null;
//表
Excel.Worksheet sheet=null;
//使用try尝试去对这些变量进行初始化
try
{
excel = new Excel.Application();
workbook = excel.Workbooks.Add(Missing.Value);//此处需要System.Reflection命名空间支持
sheet = (Excel.Worksheet)workbook.ActiveSheet;
//变量初始化结束
//写入数据
//先写入表头
int firstColumn=1;
for(int i=0;i<columncount;i++)//columncount为列总数
{
if(this.datagridview1.Columns[i].Visiable==true)
{
excel.Cells[1,firsColumn] = this.datagridview1.Columns[i].HeaderText;//此处注意,在excel单元格中下标从1开始
firstColumn++;
}
}
//写入内容,双重循环
for(int i = 0; i<rowcount;i++)
{
firstColumn=1;
for(int j=0 ;j<columncount;j++)
{
If(this.datagridview1.Column[j].Visiable==true)
{ excel.Cells[row+2,firstColumn]=this.datagridview1.Rows[i].Cells[j].Value.ToString().Trim();
firstColumn++;
}
}
}
}
catch
{
MessageBox.Show(“”,””);
}
MessageBox.Show(filename+”导出成功”);
至此,就保存完了
写代码的过程中,多使用try catch异常处理,在捕获异常后,要及时对进程关闭,并且置为null保证安全
相关文章推荐
- C# / MSSQL / WinForm / ASP.NET - SQLHelper中返回SqlDataReader数据
- C#Winform基础 datagirdview的datapropertyname给每列绑定数据
- C#Winform基础 datagirdview的datapropertyname给每列绑定数据
- 怎么样读取Excel表格中的数据(C#.Net)
- Asp.Net输出数据到EXCEL表格中
- VB.Net机房收费系统(三层)——用datagirdview 控件显示数据库数据
- C#使用Ado.Net更新和添加数据到Excel表格的方法
- asp.net中Gradview绑定数据后输出到Excel表格中
- C# Winform里面输出数据到Excel的问题
- .NET 4.0 - Winform Control - DataGridView 数据绑定(ADO.NET Data Service)
- C# DataGirdview手动添加数据,导出txt文件并自动对齐
- 将datagirdview里的数据导入到Excel中(C#)
- C#WinForm 直接导出DataGridView数据到Excel表格的二种方法对比
- Asp.Net数据输出到EXCEL表格中
- C#后台制作之数据库(Access数据库+datagirdview控件显示+串口数据存储)
- 在C#.net中将查询数据导入EXCEL表输出
- 怎么样读取Excel表格中的数据(C#.Net)
- Asp.net(C#) 输出Xml格式数据---Rss生成
- 图片保存到数据及从数据库读出(winform,c# 和vb.net)
- C#中使Datawindow.Net组件处理数据