ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:19.12KB ,
资源ID:10493550      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10493550.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VC控制EXCEL的基本操作.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VC控制EXCEL的基本操作.docx

1、VC控制EXCEL的基本操作VC控制EXCEL的基本操作之选择范围篇分类:EXCEL2012-09-03 09:352033人阅读评论(0)收藏举报exceldatec选择篇1选择单元格/选择一个单元格range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVariant(_T(A1),TRUE);/选择多个单元格range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVariant(_T(D1),TRUE);/使用变量表示单元格CString CellName;Int

2、i=1;j=1;CellName.Format(_T(“%c%d”),j+64,i); /AZ 65-90/加载单元格rnge.AttachDispatch(range.GetRange(COleVariant(CellName),COleVariant(CellName);2选择某行1)/选择第一行range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVariant(_T(IV1),TRUE);/选择前5行range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVar

3、iant(_T(IV5),TRUE);2)先选择某行中的某个单元格,然后再选择整行Range rows;rows.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVariant(_T(A1),TRUE);rows=rows.GetEntireRow();3)获得所有的行,然后再选择指定行Range rows;range.AttachDispatch(sheet.GetRows(),TRUE);/选择第一行rows.AttachDispatch(range.GetItem(COleVariant(long)1),vtMissing).pd

4、ispVal);rows.SetRowHeight(COleVariant(long)60);3选择某一列1)range.AttachDispatch(sheet.GetRange(COleVariant(LA1),COleVariant(LA65536);/第一列2)先选择某列中的某个单元格,然后再选择整列range.AttachDispatch(sheet.GetRange(COleVariant(LA1),COleVariant(LA1);/第一列range=range.GetEntireColumn();3)先获得所有列,然后再选择某一列/获得所有列range.AttachDispat

5、ch(sheet.GetColumns(),true);/选择第一列range.AttachDispatch(range.GetItem(COleVariant(long)1),vtMissing).pdispVal,TRUE);4选择全部CELLSrange.AttachDispatch(sheet.GetCells(),TRUE);/加载所有单元格5选择已使用的单元格range.AttachDispatch(sheet.GetUsedRange();/加载已使用的单元格6获取单元格的值1)range=sheet.GetRange(COleVariant(A1),COleVariant(A1

6、);COleVariant rValue;rValue=COleVariant(range.GetValue();rValue.ChangeType(VT_BSTR);this-MessageBox(CString(rValue.bstrVal);2)/读取第一个单元格的值range.AttachDispatch(sheet.GetCells();range.AttachDispatch(range.GetItem (COleVariant(long)1),COleVariant(long)1).pdispVal );vResult =range.GetValue();CString str;

7、if(vResult.vt = VT_BSTR) /字符串str=vResult.bstrVal;else if (vResult.vt=VT_R8) /8字节的数字str.Format(L%f,vResult.dblVal);else if(vResult.vt=VT_DATE) /时间格式SYSTEMTIME st;VariantTimeToSystemTime(long)&vResult.date, &st);else if(vResult.vt=VT_EMPTY) /单元格空的str=;VC控制EXCEL的基本操作之设置篇分类:EXCEL2012-09-03 09:372888人阅读评

8、论(2)收藏举报excelshapesfloatupc设置篇1 设置单元格的值1)选中指定单元格,使用SetValue设置值CellName.Format(_T(A%d),i);/单元格的名称range.AttachDispatch(sheet.GetRange(COleVariant(CellName),COleVariant(CellName);/加载单元格range.SetValue(COleVariant(subFileName);CellName.Format(_T(C%d),i);/单元格的名称range.AttachDispatch(sheet.GetRange(COleVari

9、ant(CellName),COleVariant(CellName);/加载单元格range.SetValue(COleVariant(long)i);2)选中所有的单元格, 使用SetItem 设置指定单元格的值range.AttachDispatch(sheet.GetCells(),TRUE);/加载所有单元格/设置第I行 第1、2、3列的值range.SetItem(COleVariant(long)(i),COleVariant(long)1),COleVariant(subFileName); /第一列range.SetItem(COleVariant(long)(i),COle

10、Variant(long)2),COleVariant(unicodeStr); /第二列range.SetItem(COleVariant(long)(i),COleVariant(long)3),COleVariant(long)i); /第三列2 设置行高列宽选中某列 设置列宽/获得所有列range.AttachDispatch(sheet.GetColumns(),true);/设置第一列的列宽 Range colscols.AttachDispatch(range.GetItem(COleVariant(long)1),vtMissing).pdispVal,TRUE);cols.S

11、etColumnWidth(COleVariant(long)10); /设置列宽/设置第4列的列宽cols.AttachDispatch(range.GetItem(COleVariant(long)4),vtMissing).pdispVal,TRUE);cols.SetColumnWidth(COleVariant(long)10); /设置列宽/设置列宽为自动适应cols.AutoFit();设置行高 Range rows; range.AttachDispatch(sheet.GetRows(),TRUE); /选择第一行 rows.AttachDispatch(range.GetI

12、tem(COleVariant(long)1),vtMissing).pdispVal);/设置行高 rows.SetRowHeight(COleVariant(long)60);注意: 行高列宽使用的单位不一样3 设置单元格类型 range.AttachDispatch(sheet.GetCells(),TRUE);/加载所有单元格 range.SetNumberFormat(COleVariant(L); /将单元格设置为文本类型4 设置单元格字体 Font ft; /设置第一列的字体 range.AttachDispatch(sheet.GetColumns(),true); range

13、.AttachDispatch(range.GetItem(COleVariant(long)1),vtMissing).pdispVal,TRUE); /字体作用范围 ft.AttachDispatch(range.GetFont(); ft.SetName(COleVariant(_T(宋体); ft.SetSize(COleVariant(long)48);ft.SetBold(COleVariant(long)1);/粗体ft.SetColorIndex(COleVariant(long)2);/设置字体颜色5 设置单元格背景色range.AttachDispatch(sheet.Ge

14、tRange(COleVariant(_T(A1),COleVariant(_T(D1); /设置底色/ Interior it; it.AttachDispatch(range.GetInterior(); it.SetColorIndex(COleVariant(long)11);/标题底色 /表格内容的底色/ range.AttachDispatch(sheet.GetRange(COleVariant(_T(A2),COleVariant(_T(D5); it.AttachDispatch(range.GetInterior(); it.SetColorIndex(COleVarian

15、t(long)15);6 设置表格边框1)range.AttachDispatch(sheet.GetRange(COleVariant(_T(A2),COleVariant(_T(D5);/LineStyle=线型Weight=线宽ColorIndex=线的颜色(-4105为自动)range.BorderAround(COleVariant(long)1),(long)2,(long)-4105),vtMissing);/设置边框2)range.AttachDispatch(sheet.GetRange(COleVariant(_T(A2),COleVariant(_T(D5); _vari

16、ant_t v1; /线型 _variant_t v2; /宽度 _variant_t v3; /颜色 v1.vt=VT_I2; v1.lVal=2; / 线的样式:- no line; 1-solid; 2-big dot;3-small dot;4-dash dot; 5-dash dot dot; v2.vt=v1.vt; v2.lVal=3; / 线的粗细程度 v3.vt=v1.vt; v3.lVal=1; / 1-black;2-white;3-red;4-green;5-blue; 6-yellow; 7-pink;8-dark blue; UnitRge.BorderAround

17、(v1,v2,v3,vtMissing);/设置边框7 合并单元格1) /合并单元格 /加载要合并的单元格 range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVariant(_T(D1),TRUE); range.Merge(COleVariant(long)0);2) /将第一个单元格合并成行,列 range.AttachDispatch(sheet.GetCells(); unionRange.AttachDispatch(range.GetItem (COleVariant(long)1),COleVariant(lon

18、g)1).pdispVal ); /第一个单元格 unionRange.AttachDispatch(unionRange.GetResize(COleVariant(long)3),COleVariant(long)2); /GetResize(3,2) 从第一个单元格开始合并行列的所有单元格 unionRange.Merge(COleVariant(long)0); /合并单元格8 设置单元格文本为自动换行 及排列方式 range.AttachDispatch(sheet.GetUsedRange();/加载已使用的单元格 range.SetWrapText(COleVariant(lon

19、g)1);/设置单元格内的文本为自动换行 /设置齐方式为水平垂直居中 /水平对齐:默认1,居中-4108,左-4131,右-4152 /垂直对齐:默认2,居中-4108,左-4160,右-4107 range.SetHorizontalAlignment(COleVariant(long)-4108); range.SetVerticalAlignment(COleVariant(long)-4108);9 在单元格中插入公式/选择A2单元格,插入一个公式=RAND()*100000,并设置A2数字格式为货币形式range=sheet.GetRange(COleVariant(LA2),COl

20、eVariant(LA2);range.SetFormula(COleVariant(L=RAND()*100000);range.SetNumberFormat(COleVariant(L$0.00);10 在单元格中插入图片 Shapes shapes = sheet.GetShapes();/ 从Sheet对象上获得一个Shapes range.AttachDispatch(sheet.GetRange(COleVariant(LE5),COleVariant(LE5); / 获得Range对象,用来插入图片 shapes.AddPicture( Ld:pic.bmp , false ,

21、 true , (float)range.GetLeft().dblVal ,(float)range.GetTop().dblVal,(float)range.GetWidth().dblVal,(float)range.GetHeight().dblVal); ShapeRange sRange = shapes.GetRange(_variant_t(long(1); sRange.SetHeight(float(30);/在RANGE范围内 设置图片宽高 sRange.SetWidth(float(30);11 对选取的区域进行排序 #define xlAscending (long)

22、 1 #define xlDescending (long) 2 #define vOpt COleVariant(long) DISP_E_PARAMNOTFOUND, VT_ERROR) #define xlHeader (long) 1 / 选取的区域有标题 #define xlNoHeader (long) 2 / 选取的区域无标题 一定要正确确定是否有标题,否则排序可能不成功 #define xlMatchCase COleVariant(long) 1) #define xlIgnoreCase COleVariant(long) 0) #define xlTopToBottom

23、(long) 1 / 垂直方向进行排序 #define xlLeftToRight (long) 2 / 水平方向进行排序 #define xlPinYin (long) 1 / this is the default / 按字符的中文拼音进行排序 #define xlStroke (long) 2 / 按每个字符中的笔画数进行排序 VARIANT key1; / these lines set up first arg (key1) to sort V_VT(&key1) = VT_DISPATCH; / 排序时,关键字的vt设置为VT_DISPATCH V_DISPATCH(&key1)

24、= sheet.GetRange(COleVariant(LA1),COleVariant(LA1); / 设置按哪个关键字进行排序 选择单元意为:按此列(或行)为主关键字进行排序 range=sheet.GetRange(COleVariant(LA1),COleVariant(CellName); / 选择对哪些区域内的单元格进行排序 range.Sort(key1, xlAscending, vOpt, vOpt, xlAscending, vOpt,xlAscending,xlNoHeader,vOpt,xlIgnoreCase,xlTopToBottom,xlPinYin); /设置

25、排序 无标题时一定要设置为xlNoHeader 否则不起作用VC控制EXCEL的基本操作之选择范围篇分类:EXCEL2012-09-03 09:352034人阅读评论(0)收藏举报exceldatec选择篇1选择单元格/选择一个单元格range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVariant(_T(A1),TRUE);/选择多个单元格range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVariant(_T(D1),TRUE);/使用变量表示单元格CStri

26、ng CellName;Int i=1;j=1;CellName.Format(_T(“%c%d”),j+64,i); /AZ 65-90/加载单元格rnge.AttachDispatch(range.GetRange(COleVariant(CellName),COleVariant(CellName);2选择某行1)/选择第一行range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVariant(_T(IV1),TRUE);/选择前5行range.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COleVariant(_T(IV5),TRUE);2)先选择某行中的某个单元格,然后再选择整行Range rows;rows.AttachDispatch(sheet.GetRange(COleVariant(_T(A1),COle

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1