CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

C#中怎么从如何将DataGridView中的数据导出到Excel中(WINFORM中,不是在WEB)

楼主linqingfeng(清风)2006-03-04 10:51:31 在 .NET技术 / C# 提问

如题~C#中怎么从如何将DataGridView中的数据导出到Excel中(WINFORM中,不是在WEB)  
   
  在网上找了好久都没有找到,有的只是在WEB里面实现,而我是想在WINFORM下实现的,不过连了MSDN的例子都运行不了,参照下面的文章做了,还是不行,最后把Microsoft.Office.Interop.Excel这个DLL都加进项目都不行,实在没有办法了,望那位高手指教一下~  
   
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_vsto2003_ta/html/ExcelObj.asp  
   
  http://www.programfan.com/club/showtxt.asp?id=94237  
  问题点数:20、回复次数:7Top

1 楼lidong6(立冬)回复于 2006-03-04 11:18:00 得分 0

不管是winform还是web都一样.  
   
  都是通过datagrid的数据源DataTable来导出的.也就是Datatable->excel.  
   
   
   
   
   
  Top

2 楼linqingfeng(清风)回复于 2006-03-04 13:22:04 得分 0

先谢谢楼上的回答~  
  但我实验过就是不一样,在WEB里面的方法在WINFORM中不管用,所以才发此贴~  
  还有我现在想知道的是DataGridView(2.0的控件)实现的方法  
  另外还有正如我所说的连Microsoft.Office.Interop.Excel这个DLL都加进项目都不行,连打开EXCEL也不行,请会的朋友再指点一下我这个菜鸟~谢谢Top

3 楼kingdhy(飞鹰)回复于 2006-03-04 13:43:59 得分 0

private   void   menuItem16_Click(object   sender,   System.EventArgs   e)  
  {  
  ds.Tables["CurrentTable"].AcceptChanges();  
  this.Cursor=Cursors.WaitCursor;  
  Excel.Application   myExcel=new   Excel.Application();  
  myExcel.Application.Workbooks.Add(true);  
  myExcel.Visible=true;  
  myExcel.Cells[1,1]=this.dataGrid1.CaptionText;  
  //Object   Date[ds.Tables["CurrentTable"].Rows.Count][ds.Tables["CurrentTable"].Columns.Count];  
  //生成标题  
  for(int   i=0;i<ds.Tables["CurrentTable"].Columns.Count;i++)  
  {  
  myExcel.Cells[2,i+1]=ds.Tables["CurrentTable"].Columns[i].Caption;  
  }  
  //填充数据  
  for(int   i=0;i<ds.Tables["CurrentTable"].Rows.Count;i++)  
  {  
  for(int   j=0;j<ds.Tables["CurrentTable"].Columns.Count;j++)  
  {  
  if(ds.Tables["CurrentTable"].Rows[i][j].GetType()==typeof(System.String))  
   
  {  
   
  myExcel.Cells[i+3,j+1]="'"+ds.Tables["CurrentTable"].Rows[i][j].ToString();  
  }  
  else  
  {  
  myExcel.Cells[i+3,j+1]=ds.Tables["CurrentTable"].Rows[i][j].ToString();  
  }  
  }  
  }  
   
  this.Cursor=Cursors.Default;  
  MessageBox.Show("导出成功!                               ","恭喜",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);  
  }Top

4 楼linqingfeng(清风)回复于 2006-03-04 14:06:31 得分 0

谢谢楼上的代码说明,其实在MSDN上我也看到过类似的,但就有一个问题  
   
  Excel.Application这个用什么引用啊,我把Microsoft.Office.Interop.Excel加上也不行,望再赐教~Top

5 楼kingdhy(飞鹰)回复于 2006-03-04 15:21:13 得分 0

就是编译你本地机器上的Excel.exe文件,(据说用这个文件编译成DLL文件后可在2K,XP,2003等系统上通用,如果是编译Excel9.olb则不同的系统要出错,还未试)。用TlbImp.exe   excel.exe编译后即生成exdel.dll,然后拷贝你的应用程序文件夹,再添加“引用”,参照上面这段代码即可完成。其中TibImp.exe可在你本同上搜索得到!Top

6 楼kingdhy(飞鹰)回复于 2006-03-04 15:26:41 得分 20

建议参考:http://community.csdn.net/Expert/TopicView.asp?id=4570895这个帖子,已经说得很详细了!Top

7 楼linqingfeng(清风)回复于 2006-03-04 20:22:07 得分 0

谢谢!!!总于搞定了~~太高兴了!!  
  谢谢^^Top

相关问题

  • c#里从SQLSERVER导出数据到EXCEL
  • 导出到excel
  • 导出EXCEL
  • 导出到EXCEL
  • 在ASP.NET中,如何从数据库中导出EXCEL?(用C#)
  • 100分求c#.net下将DataGrid导出excel和word的例子
  • 急急急 c++builder关于导出表到excel表 谢谢
  • 求 ASP.NET (C#) 导入导出 Excel 的代码。
  • asp.net(c#)如何把数据库导出一个模板excel中?
  • 求救!!C#导出EXCEL的时候报错:拒绝访问

关键词

  • c#
  • winform
  • 数据
  • excel
  • microsoft
  • 导出
  • datagridview
  • 不行
  • 实现

得分解答快速导航

  • 帖主:linqingfeng
  • kingdhy

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo