欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

winform导出dataviewgrid数据为excel的方法

程序员文章站 2023-12-13 12:15:46
本文实例讲述了winform导出dataviewgrid数据为excel的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:#region 导出data...

本文实例讲述了winform导出dataviewgrid数据为excel的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:
#region 导出dataviewgrid视图中的数据为xls格式 
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#程序设计有所帮助。

上一篇:

下一篇: