winform导出dataviewgrid数据为excel的方法
本文实例讲述了winform导出dataviewgrid数据为excel的方法。分享给大家供大家参考。具体实现方法如下:
#region导出dataViewGrid视图中的数据为xls格式 privatevoidbtnExportList_Click(objectsender,EventArgse) { stringfname=string.Empty;
SaveFileDialogsfd=newSaveFileDialog();
sfd.Filter="表格文件|*.xls"; sfd.DefaultExt="xls";
if(sfd.ShowDialog()==DialogResult.OK) { fname=sfd.FileName; } else { return; }
//导出当前dataGridView中的所有数据到xls文件 //1.引入库文件,新建lib文件夹,复制相关文件 //2.在项目中添加对这几个dll的引用 //3.在内存中建立excel表文件 HSSFWorkbookworkbook=newHSSFWorkbook(); HSSFSheetsheet=workbook.CreateSheet("第一页");
//创建标题头 HSSFRowtitle=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(introwindex=0;rowindex<dgvStudens.RowCount;rowindex++) { //创建第一行 HSSFRowrow=sheet.CreateRow(rowindex+1);
for(intcolindex=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()); } ////创建第一行的第一列 //HSSFCellcell=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(FileStreamfs=newFileStream(fname,FileMode.Create)) {
workbook.Write(fs); }
;
} #endregion