标题:VC 操作Excel表 怎么将一个Excel表中的sheet1复制到另一个Excel表sheet1中
取消只看楼主
Leroy8508
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-12-15
结帖率:0
 问题点数:0 回复次数:2 
VC 操作Excel表 怎么将一个Excel表中的sheet1复制到另一个Excel表sheet1中
我最近在做一个对Excel进行操作的工程,想将一个Excel表作为配置表,在另一个Excel中每次新建sheet时利用这个配置表去初始化此sheet,我想将配置表内容以及格式全部复制过去,但是具体不知道怎么弄,求教高手解答!
搜索更多相关主题的帖子: Excel 工程 新建 
2011-12-15 10:23
Leroy8508
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-12-15
得分:0 
呵呵,谢啦!
进行数据的拷贝很简单,我需要的主要是这张表的结构,配置出一张新的空表单,现在问题已经解决。
2011-12-27 14:32
Leroy8508
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-12-15
得分:0 
可以这样去复制
COleVariant m_covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);//全局变量
//获取要复制的sheet的区域
m_sheets.AttachDispatch(m_book.GetWorksheets(),TRUE);
m_sheet.AttachDispatch(m_sheets.GetItem(COleVariant((short)1)));
m_range.AttachDispatch(m_sheet.GetRange(_variant_t("A1"),_variant_t("E40")));

//复制选取的区域
m_range.Copy(vtMissing);

//在现有sheet后增加新sheet
COleVariant temp;
temp.pdispVal = m_sheet.m_lpDispatch;
temp.vt = VT_DISPATCH;
m_sheet = m_sheets.Add(m_covOptional,temp,m_covOptional,m_covOptional);

//复制sheet1的格式和列宽到新的sheet中
m_sheet.AttachDispatch(m_sheets.GetItem(COleVariant((short)m_Id)));
m_range.AttachDispatch(m_sheet.GetRange(_variant_t("A1"),vtMissing));
m_range.PasteSpecial(xlPasteFormats,xlPasteSpecialOperationNone,vtMissing,vtMissing);//复制表的格式
m_range.PasteSpecial(xlPasteColumnWidths,xlPasteSpecialOperationNone,vtMissing,vtMissing);//复制列宽

这样即可利用一个sheet作为配置表去复制出一张空表!
2011-12-27 14:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-357798-1-1.html




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

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