社区
C#
帖子详情
C#复制Excel中的一个Sheet到另外一个Excel中
ybhcolin
2008-05-22 08:49:04
问题:我想用C#实现Sheet的复制,也就是说,将一个Excel文档里的sheet复制到另外一个Excel中,不知怎么办?
...全文
384
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
【NPOI】
C#
跨工作薄
复制
Sheet
模板导出
Excel
本文介绍了如何使用NPOI库在遇到工作簿加密限制时,从指定模板读取内容并
复制
到新的
Excel
文件
中
,以避免格式更改。通过实例展示了如何读取'Ulami科室日报模板.xlsx',并将内容
复制
到'11.xlsx',以生成定制化的报表。
c#
删除
sheet
_
C#
处理多个
Excel
合并,
复制
Sheet
本文介绍了如何使用
C#
操作
Excel
,包括打开
Excel
文件、新建
Sheet
、
复制
Sheet
、删除
Sheet
以及保存和释放资源。通过ApplicationClass、Workbook和Work
sheet
等类,详细讲解了每个步骤的关键代码。
使用
C#
将
Excel
1
中
sheet
1 的数据
复制
粘贴到
Excel
2
中
的
sheet
2
本文介绍了如何在
C#
项目
中
实现
Excel
数据的跨表
复制
。首先尝试使用openxmlsdk进行同表
复制
,但由于限制无法实现跨表操作。接着,利用VS自带的
Excel
插件成功完成了两个不同工作表间的数据转换。最后,详细说明了如何
复制
Excel
1
Sheet
1
中
的指定数据到
Excel
2
Sheet
2的特定位置。
C#
NPOI
Excel
跨工作薄Workbook
复制
工作表
Sheet
本文详细介绍了使用NPOI库跨工作簿
复制
Excel
Sheet
的方法,包括数据、样式、字体和颜色的完整迁移,以及打印设置的
复制
。通过具体代码示例,展示了如何处理单元格样式和字体的一致性,特别关注了HSSF与XSSF格式之间的兼容性问题。
C#
处理多个
Excel
合并,
复制
Sheet
本文介绍了一种使用
C#
和Microsoft Office Interop
Excel
库将多个
Excel
文件合并到
一个
文件
中
的多个
Sheet
的方法。通过
复制
不同工作表并指定新的
Sheet
名称,可以轻松地实现报表合并。
C#
111,131
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章