| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2724 人关注过本帖, 1 人收藏
标题:把datagridview的数据输出为Excel,Word的简单应用
只看楼主 加入收藏
shenba
Rank: 1
等 级:新手上路
威 望:1
帖 子:179
专家分:0
注 册:2006-9-17
收藏(1)
 问题点数:0 回复次数:5 
把datagridview的数据输出为Excel,Word的简单应用

小小的功能,刚学office方面的编程

public static void ExportData(DataGridView srcDgv,string fileName)//导出数据,传入一个datagridview和一个文件路径
{
string type = fileName.Substring(fileName.IndexOf(".")+1);//获得数据类型


if (type.Equals("xls",StringComparison.CurrentCultureIgnoreCase))//Excel文档
{
Excel.Application excel = new Excel.Application();
try
{
excel.DisplayAlerts = false;
excel.Workbooks.Add(true);
excel.Visible = false;

for (int i = 0; i < srcDgv.Columns.Count; i++)//设置标题
{
excel.Cells[2, i+1] = srcDgv.Columns[i].HeaderText;
}

for (int i = 0; i < srcDgv.Rows.Count; i++)//填充数据
{
for (int j = 0; j < srcDgv.Columns.Count; j++)
{
excel.Cells[i + 3, j + 1] = srcDgv[j, i].Value;
}
}

excel.Workbooks[1].SaveCopyAs(fileName);//保存
}
finally
{
excel.Quit();
}
return;
}

//保存Word文件

if (type.Equals("doc", StringComparison.CurrentCultureIgnoreCase))
{

object path = fileName;

Object none=System.Reflection.Missing.Value;
Word.Application wordApp = new Word.Application();
Word.Document document = wordApp.Documents.Add(ref none, ref none, ref none, ref none);
//建立表格
Word.Table table= document.Tables.Add(document.Paragraphs.Last.Range, srcDgv.Rows.Count+1, srcDgv.Columns.Count, ref none, ref none);

try
{

for (int i = 0; i < srcDgv.Columns.Count; i++)//设置标题
{
table.Cell(1, i + 1).Range.Text = srcDgv.Columns[i].HeaderText;
}

for (int i = 0; i < srcDgv.Rows.Count; i++)//填充数据
{
for (int j = 0; j < srcDgv.Columns.Count; j++)
{

table.Cell(i + 2, j + 1).Range.Text = srcDgv[j, i].Value.ToString();
}
}

document.SaveAs(ref path, ref none, ref none, ref none, ref none, ref none, ref none, ref none, ref none, ref none, ref none, ref none, ref none, ref none, ref none, ref none);
document.Close(ref none, ref none, ref none);

}
finally
{
wordApp.Quit(ref none, ref none, ref none);
}

}

}

搜索更多相关主题的帖子: Excel datagridview Word 数据 应用 
2007-01-07 21:32
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
谢谢,在写这样的程序时有个郁闷的问题不知道解决了没有?用过WORD或EXCEL后进程里就多一个OFFICE产品进程.很烦,(对不起,这段程序我没有测试只是发表一下如果有这种事情的解决方法)
将导出/导入功能写为一个函数,再使用,使用完后可以用GC来消灭垃圾。用函数内嵌的方法可以解决进程内郁闷的问题,当然其他方法多的是请BAIDU/GOOGLE。

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-01-08 07:56
hxhfg
Rank: 1
等 级:新手上路
帖 子:284
专家分:0
注 册:2006-4-18
收藏
得分:0 
楼主的这个也不知道什么用?

2007-08-13 13:57
飙马
Rank: 5Rank: 5
来 自:马里亚纳
等 级:贵宾
威 望:15
帖 子:779
专家分:280
注 册:2007-3-28
收藏
得分:0 
谢谢,支持一下。感觉输出Excel的情况蛮多的,输出Word的情况要少些,你这个挺有帮助的。
VS里面对Word和Excel的支持似乎还不如VB6里面支持好,也不知道MicroSoft是怎么回事。VB6里面通过OLE可以直接将表格导入进来,连菜单、右键什么都有了。

IT精英如同彩票:平凡的人像5块也中不到一样普遍,努力一点你中了5元保了个本。奖金越高,机率也就越小,付出的也越多,盖茨如同500万一样稀有。虽然每天忙碌而平凡,但我努力成为精英,做梦中了500万。
2007-08-13 14:13
hxhfg
Rank: 1
等 级:新手上路
帖 子:284
专家分:0
注 册:2006-4-18
收藏
得分:0 
导出Excel可以了,但是导出Word出错?
导出Word出错如图:
图片附件: 游客没有浏览图片的权限,请 登录注册

[此贴子已经被作者于2007-8-14 12:01:15编辑过]


2007-08-14 11:56
hxhfg
Rank: 1
等 级:新手上路
帖 子:284
专家分:0
注 册:2006-4-18
收藏
得分:0 
没有人过问,自己再顶

2007-08-15 03:35
快速回复:把datagridview的数据输出为Excel,Word的简单应用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014735 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved