如何导出excel表格
第一次在做机房的时候记得如何导出excel表格的功能是参考的别人的,在这个做的时候不能再参考别人的了,大事小事,只有自己尽自己最大的努力去做就一定会有所收获。经过查资料,终于写出如何将DataGridView控件中的数据导出到excel表格中。具体步骤如下:
(1)添加引用
在U层中添加excel表格的引用,如下图:
(2)编写代码:
因为在整个系统中,有好几个窗体中用到了导出excel表格的方法,所以,我们不妨把这段程序写在一个类中,在使用的时候直接调用一下。类中的代码如下:
首先,引用相应的命名空间,如下:
using System.Windows.Forms; //添加引用窗体 using Excel = Microsoft.Office.Interop.Excel;对excel表格的命名空间的引用,必须写成这样的,要不会报错的。
public class ToExcel { public void DatatoExcel(DataGridView dgv) { if (dgv.Rows .Count ==0) //判断控件中是否有数据。 { MessageBox.Show("没有数据"); return; } Excel.Application excel = new Excel.Application(); //实例化 excel.Application.Workbooks.Add(true ); excel.Visible = true; for (int i = 0; i < dgv.ColumnCount ; i++) { excel.Cells[1, i + 1] = dgv.Columns[i].HeaderText; //添加第一行的内容=表头 } for (int i = 0; i < dgv .RowCount ; i++) { for (int j = 0; j < dgv .ColumnCount ; j++) { if (dgv[j, i].ValueType == typeof(string)) //判断控件中的内容的值是否是字符串类型的。 { excel.Cells[i + 2, j + 1] = "" + dgv[j, i].Value.ToString(); //把空件中对应行的内容添加到excel中,并进行数据类型的转换。 //cells[i,j] 表示表中对应的行和列,i为行,j为列。 } else { excel.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString(); } excel.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString(); } } } }对于以上中的代码,经过试验,在第二个for循环中,如果去掉里边的if ...else..部分也是正确的,这里只是涉及到了,表格中数据类型的转换,没有也是可以的。
导出excel表格的具体步骤就这些了,如果都写全了,就可以运行出结果啦!