社区
C#
帖子详情
C#复制Excel中的一个Sheet到另外一个Excel中
ybhcolin
2008-05-22 08:49:04
问题:我想用C#实现Sheet的复制,也就是说,将一个Excel文档里的sheet复制到另外一个Excel中,不知怎么办?
...全文
360
8
打赏
收藏
C#复制Excel中的一个Sheet到另外一个Excel中
问题:我想用C#实现Sheet的复制,也就是说,将一个Excel文档里的sheet复制到另外一个Excel中,不知怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zxkid
2008-05-22
打赏
举报
回复
VBA代码是这样的:
Sheets("Sheet1").Select
Sheets("Sheet1").Copy After:=Workbooks("Book2").Sheets(3)
应该调用Sheet对象的Copy方法
hiwjh20021758
2008-05-22
打赏
举报
回复
具体不清楚了 我是实现了的 有可能是不同OFFICE的问题 ,这种问题还是很常见
ybhcolin
2008-05-22
打赏
举报
回复
app2 = new Excel.ApplicationClass();
wb2 = app2.Workbooks.Open (@"D:\Temp\Template.xls",false,false,miss,miss,miss,true,miss,miss,miss,miss,miss,miss,miss,miss);
ws2 = (Excel.Worksheet)wb2.Sheets[1];
app1 = new Excel.ApplicationClass();
wb1 = app1.Workbooks.Open(@"D:\Temp\Sabrina_Report_Template.xls",false,false,miss,miss,miss,true,miss,miss,miss,miss,miss,miss,miss,miss);
Excel.Worksheet wsadd = (Excel.Worksheet)wb1.Sheets.Add(miss,miss,miss,miss);
wsadd.Name = "新增加的";
CopyRange(ws2,wsadd,1,1);
wb1.Save();
wb2.Save();
上面是我写的代码,但在调用CopyRange时,会在CopyRange函数内出现异常.
hiwjh20021758
2008-05-22
打赏
举报
回复
首先定义两个 EXCEL APPLICATION ,然后要把两个Excel 都OPEN ,在初始化两个要复制的EXCEL WORKSHEET ,调用这个函数 没有问题
ybhcolin
2008-05-22
打赏
举报
回复
我刚才测试了一下.好象上面的代码用在不同的Excel文档进行复制不行
jekyllkiss
2008-05-22
打赏
举报
回复
顶下
hiwjh20021758
2008-05-22
打赏
举报
回复
简单 看看这段代码
/// <summary>
/// 将指定sheet页的内容完全复制另一sheet页
/// </summary>
/// <param name="beforeSheet">被复制的sheet页</param>
/// <param name="afterSheet">目标sheet页</param>
/// <param name="startRow">复制内容在目标sheet页的开始行</param>
/// <param name="startColumn">复制内容在目标sheet页的开始列</param>
/// <returns>是否复制成功</returns>
private bool CopyRange(Excel._Worksheet beforeSheet, Excel._Worksheet afterSheet, int startRow, int startColumn)
{
bool isCopyRange = false;
try
{
Excel.Range beforeRange = beforeSheet.UsedRange;
int rangeRowCount = beforeRange.Rows.Count;
int rangeColumnCount = beforeRange.Columns.Count;
// 空出将写数据集的EXCEL的范围
for (int row = 0; row <= rangeRowCount - 1; row++)
{
Excel.Range rang = afterSheet.get_Range(afterSheet.Cells[startRow, 1],
afterSheet.Cells[startRow, 1]).EntireRow;
//插入一行。
afterSheet.get_Range(afterSheet.Cells[startRow + row, 1],
afterSheet.Cells[startRow + row, 1]).EntireRow.Insert(Excel.XlDirection.xlUp, null);
Excel.Range rangTarget = afterSheet.get_Range(afterSheet.Cells[startRow + row, 1],
afterSheet.Cells[startRow + row, 1]).EntireRow;
rang.Copy(rangTarget);
}
beforeRange.Copy(afterSheet.get_Range(afterSheet.Cells[startRow, startColumn],
afterSheet.Cells[startRow, startColumn + rangeColumnCount]));
isCopyRange = true;
}
catch
{
}
return isCopyRange;
}
#endregion
ojekleen
2008-05-22
打赏
举报
回复
mark
C#
winform 导出datatable到
excel
的多个
sheet
使用
C#
实现了将多个datatable
中
的内容导出到
一个
excel
文件的不同的
sheet
页,每个
sheet
页对应
一个
datatable。代码
中
的datatable是程序
中
添加的内容,从数据库
中
导出数据到
excel
的话只需要将数据表内容写入datatable即可。
c#
导出
excel
支持多
sheet
导出,可自定义
sheet
Name
c#
导出
excel
支持多
sheet
导出,可自定义
sheet
Name,如有疑问请留言,或qq1574697828.
c#
导出
excel
支持多
sheet
导出,可自定义
sheet
Name,如有疑问请留言。
C#
Excel
导入导出
演示
C#
如何实现对
Excel
文件的读取、写入等基本操作。
【原创】
C#
导出数据到
EXCEL
方法谈(附实例源码和超级无敌详细讲解)
具体内容请参考我的BLOG:http://blog.csdn.net/smallwhiteyt/archive/2009/11/08/4784771.aspx 如果你耐心仔细看完本文,相信以后再遇到导出EXCLE操作的时候你会很顺手觉得SO EASY,主要给新手朋友们看的,老鸟可以直接飘过了,花了一晚上的时间写的很辛苦,如果觉得对你有帮助烦请留言支持一下,我会写更多基础的原创内容来回报大家。
C#
导出数据到
EXCEL
表格是个老生常谈的问题了,写这篇文章主要是给和我一样的新手朋友提供两种导出
EXCEL
的方法并探讨一下导出的效率问题,本文
中
的代码直接就可用,其
中
部分代码参考其他的代码并做了修改,抛砖引玉,希望大家一起探讨,如有不对的地方还请大家多多包涵并指出来,我也是个新手,出错也是难免的。 首先先总结下自己知道的导出
EXCEL
表格的方法,大致有以下几种,有疏漏的请大家补充。 1.数据逐条逐条的写入
EXCEL
2.通过OLEDB把
EXCEL
做为数据源来写 3.通过RANGE范围写入多行多列内存数据到
EXCEL
4.利用系统剪贴板写入
EXCEL
好了,我想这些方法已经足够完成我们要实现的功能了,方法不在多,在精,不是么?以上4
中
方法都可以实现导出
EXCEL
,方法1为最基础的方法,意思就是效率可能不是太高,当遇到数据量过大时所要付出的时间也是巨大的,后面3种方法都是第一种的衍生,在第一种方法效率低下的基础上改进的,这里主要就是
一个
效率问题了,当然如果你数据量都很小,我想4种方法就代码量和复杂程度来说第1种基本方法就可以了,或当你的硬件非常牛逼了,那再差的方法也可以高效的完成也没有探讨的实际意义了,呵呵说远了,本文主要是在不考虑硬件或同等硬件条件下单从软件角度出发探讨较好的解决方案。
2012,我的
C#
全能
Excel
操作(无需Office,不使用XML)
2012,我的
C#
全能
Excel
操作(无需Office,不使用XML) 有时候,
Excel
操作会成为我们程序员的痛处。 COM的方式处理?杀进程?需要安装Office? No,nononono!这些都不想了。 我只要OleDb就够用了。 读取内容产生DataSet? 没问题! 创建
Excel
文件? 没问题! 在
Excel
文件
中
创建
Sheet
? 没问题! 我要取出
Excel
文件
中
的所有表名? 没问题! 我要以索引来操作
Sheet
,不是名字行不? 没问题! 导出的数据太多,要分开多个
Sheet
放,行不? 没问题! 我要再扩展,可不可以? 代码都给你了,你说呢?
C#
111,119
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章