winform导出dataviewgrid数据为excel的方法
本文实例讲述了winform导出dataviewgrid数据为excel的方法。分享给大家供大家参考。具体实现方法如下:
private void btnexportlist_click(object sender, eventargs e)
{
string fname = string.empty;
savefiledialog sfd = new savefiledialog();
sfd.filter = "表格文件|*.xls";
sfd.defaultext = "xls";
if (sfd.showdialog() == dialogresult.ok)
{
fname = sfd.filename;
}
else
{
return;
}
//导出当前datagridview中的所有数据到xls文件
//1.引入库文件,新建lib文件夹,复制相关文件
//2.在项目中添加对这几个dll的引用
//3.在内存中建立 excel表文件
hssfworkbook workbook = new hssfworkbook();
hssfsheet sheet = workbook.createsheet("第一页");
//创建标题头
hssfrow title = sheet.createrow(0);
title.createcell(0).setcellvalue("编号");
title.createcell(1).setcellvalue("姓名");
title.createcell(2).setcellvalue("性别");
title.createcell(3).setcellvalue("年龄");
title.createcell(4).setcellvalue("地址");
title.createcell(5).setcellvalue("电话");
title.createcell(6).setcellvalue("生日");
for (int rowindex = 0; rowindex < dgvstudens.rowcount; rowindex++)
{
//创建第一行
hssfrow row = sheet.createrow(rowindex + 1);
for (int colindex = 0; colindex < dgvstudens.rows[rowindex].cells.count; colindex++)
{
row.createcell(colindex).setcellvalue((dgvstudens.rows[rowindex].cells[colindex].value == null) ? null : dgvstudens.rows[rowindex].cells[colindex].value.tostring());
}
////创建第一行的第一列
//hssfcell cell = row.createcell(0);
//cell.setcelltype(3);
//cell.setcellvalue(dgvstudens.rows[rowindex].cells[0].value.tostring());
////第一行第2列
//row.createcell(1).setcellvalue(dgvstudens.rows[rowindex].cells[1].value.tostring());
////第一行第3列
//row.createcell(2).setcellvalue(dgvstudens.rows[rowindex].cells[2].value.tostring());
////第一行第4列,age,可能会为空
//// row.createcell(3).setcellvalue(dgvstudens.rows[0].cells[3].value.tostring());
//row.createcell(3).setcellvalue((dgvstudens.rows[rowindex].cells[3].value == null) ? null : dgvstudens.rows[rowindex].cells[3].value.tostring());
}
using (filestream fs = new filestream(fname, filemode.create))
{
workbook.write(fs);
}
;
}
#endregion
希望本文所述对大家的c#程序设计有所帮助。