首页 > 代码库 > 将datagridview的结果导出到Excel
将datagridview的结果导出到Excel
1 /// <summary> 2 /// 导出Excel 3 /// </summary> 4 /// <param name="sheetName">表名</param> 5 /// <param name="dgv">要导出的文件名称</param> 6 public void DataGridViewToExcel(string sheetName, DataGridView dgv) 7 { 8 //创建一个保存对话框 9 SaveFileDialog save = new SaveFileDialog();10 //创建一个流11 Stream stream = null;12 //设置文件类型13 save.Filter = "Execl files (*.xls)|*.xls";14 //文件类型默认第一个15 save.FilterIndex = 0;16 //上一次选择的目录17 save.RestoreDirectory = true;18 //获取或设置一个值,该值指示如果用户指定不存在的文件,对话框是否提示用户允许创建该文件。19 save.CreatePrompt = true;20 //设置保存窗口的标题21 save.Title = "保存当前内容到Excel";22 //创建工作簿23 IWorkbook workbook = new HSSFWorkbook();24 //表名称25 ISheet sheet = workbook.CreateSheet(sheetName);26 //创建行27 IRow row = sheet.CreateRow(0);28 //获取列数 设置表头29 for (int i = 0; i < dgv.ColumnCount; i++)30 {31 //设置列标题32 row.CreateCell(i).SetCellValue(dgv.Columns[i].HeaderText);33 }34 int rowindex = 1;//根据这个NPOI创建行35 //设置行36 for (int j = 0; j < dgv.Rows.Count; j++)37 {38 IRow dataRow = sheet.CreateRow(rowindex);39 //数据列内容40 for (int k = 0; k < dgv.Columns.Count; k++)41 {42 dataRow.CreateCell(k).SetCellValue(dgv.Rows[j].Cells[k].Value.ToString().Trim());43 }44 rowindex++;45 }46 //判断是否单击确定47 if (save.ShowDialog() == DialogResult.OK)48 {49 stream = save.OpenFile();//将选择的路径和流赋值50 if (stream != null)51 {52 //将表格内容写入到流中53 workbook.Write(stream);54 MessageBox.Show("信息导出成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);55 }56 }57 //释放资源,要不然导出来得把当前客户端关闭才能打开文件58 workbook = null;59 sheet = null;60 row = null;61 stream.Dispose();62 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。