c# WinForm里 把DataGridView 查询出来的结果导出到Excel里 最近正在做一个C/S模式的WinForm管理系统,在界面上有一个textBox1,想实现的功能就是点击这个textBox1可以把dataGridView1里的结果导出到Excel文件里,希望高手可以帮一下 private void button1_Click(object sender, EventArgs e) { } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议LZ使用oledb进行操作,这样可以摆脱对office的依赖,就算客户机没有安装office也可以进行导出! 例子: 1.使用oledbconnection打开连接,连接语句 "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=No';Data Source= "+路径; 2.使用sql语句创建工作表:create Table [" + 工作表名称+ "](["+列名称+"]"+类型(一般为nvarchar(200))+")";执行 3.使用sql的insert语句进行插入操作:insert into [" + 工作表名称 + "]("+列名称+") values("+值+");执行 public static void print(DataGridView dataGridView1) {//导出到execl try { if (dataGridView1.Rows.Count == 0) return; Excel.Application excel = new Excel.Application(); excel.Application.Workbooks.Add(true); excel.Visible = true; //生成字段名称 for (int i = 0; i < dataGridView1.Columns.Count; i++) { excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText; } //填充数据 for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count; j++) { if (dataGridView1[j, i].ValueType == typeof(string)) { excel.Cells[i + 2, j + 1] = "'" + dataGridView1[j, i].Value.ToString(); } else { excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString(); } } } } catch (Exception ex) { MessageBox.Show(ex.Message,"错误提示"); } } 首先要添加引用,选择项目->添加引用->com->Microsoft Excel 11.0 Object Libaryusing Excel;using System.Reflection;然后把3楼的代码写到你的buttonClick函数里面 C# 如何终止被挂起的线程 :"错误执行子请求"错误消息在 ASP.NET 页中使用 Server.Transfer 或 Server.Execute 时 请问owc11如何屏蔽右键 Winform 三层做的酒店实时房态图用按钮怎么做? 怎么控制DataGridView列宽? Developer Express Inc.NET.2005 控件及开发的程序在VS2005中移植问题 【讨论、技术】如何使用.NET开发浏览器 急!两个用户控件传值的问题 c# 容器控件滚动条显示 C#程序尚无法向大量普通用户发布!!! 还是请教C#流问题 如何批量转换bas(qbasic4文件)文件为text格式
例子:
1.使用oledbconnection打开连接,连接语句 "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=No';Data Source= "+路径;
2.使用sql语句创建工作表:create Table [" + 工作表名称+ "](["+列名称+"]"+类型(一般为nvarchar(200))+")";执行
3.使用sql的insert语句进行插入操作:insert into [" + 工作表名称 + "]("+列名称+") values("+值+");执行
{//导出到execl
try
{
if (dataGridView1.Rows.Count == 0)
return;
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = true;
//生成字段名称
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;
}
//填充数据
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
if (dataGridView1[j, i].ValueType == typeof(string))
{
excel.Cells[i + 2, j + 1] = "'" + dataGridView1[j, i].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString();
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,"错误提示");
}
}
using Excel;
using System.Reflection;
然后把3楼的代码写到你的buttonClick函数里面