将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         }

将datagridview的结果导出到Excel

时间: 2024-11-29 09:31:27

将datagridview的结果导出到Excel的相关文章

.Net中DataGridview数据如何导出到excel表

首先,这个问题在网上有很多答案,也有很多解决的方法.其次,很多人写过类似的博客 .我的这篇博客,主要是写给那些刚刚接触或接触不久.NET并使用其做程序的人,更是写个自己,记录一下方法,方便以后使用. 在窗体中添加一个DataGridView控件,DatagridView获得数据: DataGridView1.DataSource = crList(泛型)或DataGridView1.DataSource=DataSet.Table(0).{注意:通过查询数据库,将查询到的数据放入crList或D

vb.net datagridview控件导出excel

导出数据的时候,经常需要将软件中的表格导出为excel,学习vb的时候用到了这个功能,当时用的是面向过程的编程方法,哪里需要了,就在哪个窗体写一遍代码.这次,我们使用面向对象的思维再次实现这个功能.对比一下,两个方法有什么区别. 这里使用vb.net作为载体,和面向过程一样,第一步还是要添加引用.为了增加复用性,需要把这个功能做成一个模块,因为是导出数据,所以,把它放到U层,需要在U层添加引用.如图: 将图中画红框的选中就可以了. 然后在U层添加模块,模块代码如下: Imports Micros

DataGridView如何快速导出Excel

从DataGridView或DataTable导出Excel文件,为了按照数据类型设置单元格格式,导出Excel时速度都比较慢,一直找不到好的办法. 最后从外文网站上找到解决办法,使用ws.get_Range(excelRange, Type.Missing).Value2方法批量设置单元格的值.详细代码如下: public void DataToExcelFast(DataGridView dgv, string fName) { try { Excel.Application excel =

C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel

其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(object sender, EventArgs e) { OpenFileDialog fd = new OpenFileDialog();//首先根据打开文件对话框,选择excel表格 ofd.Filter = "表格|*.xls";//打开文件对话框筛选器 string strPath;/

用NPOI将DataGridView中需要的列导出为Excel

NPOI是什么? NPOI是POI的.Net版本,即"N"表示"Net".不论是NPOI还是POI,它们其实都是已经编写好的类库.类库大家并不陌生,我们在建立BLL层,DAL层,Facade层--,是不是都是在创建一个个类库啊.那么这个东西和它们差不多. NPOI干什么的? 提供对Microsoft Office格式的文档读和写的功能.也就是说不仅仅用于对Excel的读和写,还有Word,Power Point等. 为什么要用NPOI 大家可以自己查查NPOI的优势

C#把DataGridVIew数据导出到Excel函数代码

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.Office.Core; using EXCEL = Microsoft.Office.Interop.Excel; //数据库支持 us

.Net常用技巧_传入DataGrid直接导出成Excel

注:非调用OFFICE的DLL方法. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using Utility; using System.IO; names

C#创建Excel文件并将数据导出到Excel文件

C#创建Excel文件,这里实际上是从资源中提取一个事先创建好的Excel文件,文件提取成功后,使用OleDb方法连接Excel,向Excel文件中写入数据. 创建解决方案 菜单>新建>项目>Windows窗体应用程序: 添加相关组件: 添加两个DataGridView,一个TextBox,两个按钮 ,如下图: 添加Excel资源: 先在文件夹中新建一个Excel文件,在Sheet1表的第一行设置列名: 双击"Resources.resx"文件打开资源文件视图: 添加

C#:将数据网格内的数据导出到Excel

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 public void ExportDataToExecel(DataGridView  dataGridView1) {     SaveF