论坛交流
站长工具
网站导航
邮局登陆
黑板报
站长博客
技术无忧首页
天气预报
首页
网络编程
服务器
操作系统
数据库
图形设计
网页设计
素材下载
维修技术
EPROM&图纸
维修手册
新闻资讯
软件下载
吴江网页制作网站设计
域名注册虚拟主机
本站由吴江市震泽镇
宋氏电脑
主办
信息订阅
正在浏览栏目导航:
首页
>
网络编程
>
net
怎么由DataSet将数据导入Excel?
时间
:2007-01-21 14:09:56
来源
:
作者
:
点击
:
次 出处
:技术无忧
关键字:
怎么
/// <summary>
/// 将DataSet里所有数据导入Excel.
/// 需要添加COM: Microsoft Excel Object Library.
/// using Excel;
/// </summary>
/// <param name="filePath"></param>
/// <param name="ds"></param>
public static void ExportToExcel(string filePath, DataSet ds)
{
object oMissing = System.Reflection.Missing.Value;
Excel.ApplicationClass xlApp = new Excel.ApplicationClass();
try
{
// 打开Excel文件。以下为Office 2000.
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(filePath, oMissing, oMissing, oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
oMissing);
Excel.Worksheet xlWorksheet;
// 循环所有DataTable
for( int i=0; i<ds.Tables.Count; i++ )
{
// 添加入一个新的Sheet页。
xlWorksheet = (Excel.Worksheet)xlWorkbook.Worksheets.Add(oMissing,oMissing,1,oMissing);
// 以TableName作为新加的Sheet页名。
xlWorksheet.Name = ds.Tables[i].TableName;
// 取出这个DataTable中的所有值,暂存于stringBuffer中。
string stringBuffer = "";
for( int j=0; j<ds.Tables[i].Rows.Count; j++ )
{
for( int k=0; k<ds.Tables[i].Columns.Count; k++ )
{
stringBuffer += ds.Tables[i].Rows[j][k].ToString();
if( k < ds.Tables[i].Columns.Count - 1 )
stringBuffer += "/t";
}
stringBuffer += "/n";
}
// 利用系统剪切板
System.Windows.Forms.Clipboard.SetDataObject("");
// 将stringBuffer放入剪切板。
System.Windows.Forms.Clipboard.SetDataObject(stringBuffer);
// 选中这个sheet页中的第一个单元格
((Excel.Range)xlWorksheet.Cells[1,1]).Select();
// 粘贴!
xlWorksheet.Paste(oMissing,oMissing);
// 清空系统剪切板。
System.Windows.Forms.Clipboard.SetDataObject("");
}
// 保存并关闭这个工作簿。
xlWorkbook.Close( Excel.XlSaveAction.xlSaveChanges, oMissing, oMissing );
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook);
xlWorkbook = null;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
// 释放...
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
xlApp = null;
GC.Collect();
}
}
请记住技术无忧网 中文域名
http://www.技术无忧.com
顶一下
网友评论
加入收藏
打印本文
错误报告
论坛讨论
关闭此页
上一篇:
Visual Basic串口通讯调试方法
下一篇:
用VS.NET2003制作WEB应用程序的安装包
相关文章
Coreldraw文件损坏无法打开怎么办?
(2007-01-18 21:19:34)
电脑经常蓝屏怎么办
(2007-01-18 16:39:51)
电脑有水纹怎么办
(2007-01-18 16:36:49)
电脑花屏怎么办
(2007-01-18 16:34:41)
JSP教程(六)-怎么在JSP中跳转到别一页面
(2007-01-05 13:03:04)
freebsd 的root密码忘了怎么办?
(2007-01-04 10:28:53)
怎么统计网络流量和监控
(2007-01-04 10:28:43)
在Linux怎么安装东西
(2007-01-04 10:23:17)
root密码丢了,怎么办?
(2007-01-04 10:22:24)
怎么导出SQL所有用户表的字段信息
(2007-01-04 10:18:56)
文章评论
共有
0
位网友发表了评论 此处只显示部分留言
点击查看完整评论页面
我要说两句
昵称 (必填)
验证码 (必填)
特别推荐
ASP.NET安装完全手册
排行榜
10分钟搞定.net正则表达式
ASP.NET安装完全手册
C#获取本地计算机名,IP,MAC地址
一个FTP客户端的C#代码
QQ验证码识别源代码(C#/NET1.1)
.Net里一个用于驱动摄像头的类
可以设置选项背景颜色的DropDownList
在Asp.net中如何实现弹出提示对话框()
asp+文件上传增强实例
设置屏幕分辨率、颜色位数、刷新率
最新信息
分清ASP.NET AJAX中的Extender和Behavi
一个生成.NET API文档的工具Sandcastle
ASP.NET 2.0的URL映射的实现方法
开发安全的ASP.NET应用程序
可以设置选项背景颜色的DropDownList
.NET1.1无Cookie SessionID重写
如何用.NET Array类的Sort方法分类数值
春节大盘点:.NET技术的回顾与展望
病毒及流氓软件自我复制的简单实现(C#)
10分钟搞定.net正则表达式
文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面