4、VC控制EXCEL的基本操作之选择范围篇
来源:互联网 发布:家用电钢琴推荐 知乎 编辑:程序博客网 时间:2024/05/20 18:54
选择篇
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 i=1;j=1;
CellName.Format(_T(“%c%d”),j+64,i); //A–Z 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")),COleVariant(_T("A1"))),TRUE);
rows=rows.GetEntireRow();
3)获得所有的行,然后再选择指定行
Range rows;
range.AttachDispatch(sheet.GetRows(),TRUE);
//选择第一行
rows.AttachDispatch(range.GetItem(COleVariant((long)1),vtMissing).pdispVal);
rows.SetRowHeight(COleVariant((long)60));
3 选择某一列
1)
range.AttachDispatch(sheet.GetRange(COleVariant(L"A1"),COleVariant(L"A65536"))); //第一列
2)先选择某列中的某个单元格,然后再选择整列
range.AttachDispatch(sheet.GetRange(COleVariant(L"A1"),COleVariant(L"A1"))); //第一列
range=range.GetEntireColumn();
3)先获得所有列,然后再选择某一列
//获得所有列
range.AttachDispatch(sheet.GetColumns(),true);
//选择第一列
range.AttachDispatch(range.GetItem(COleVariant((long)1),vtMissing).pdispVal,TRUE);
4 选择全部CELLS
range.AttachDispatch(sheet.GetCells(),TRUE);//加载所有单元格
5 选择已使用的单元格
range.AttachDispatch(sheet.GetUsedRange());//加载已使用的单元格
6 获取单元格的值
1)
range=sheet.GetRange(COleVariant("A1"),COleVariant("A1"));
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;
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="";
}
本文出自:http://blog.csdn.net/shuilan0066/article/details/7936376选择篇
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 i=1;j=1;
CellName.Format(_T(“%c%d”),j+64,i); //A–Z 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")),COleVariant(_T("A1"))),TRUE);
rows=rows.GetEntireRow();
3)获得所有的行,然后再选择指定行
Range rows;
range.AttachDispatch(sheet.GetRows(),TRUE);
//选择第一行
rows.AttachDispatch(range.GetItem(COleVariant((long)1),vtMissing).pdispVal);
rows.SetRowHeight(COleVariant((long)60));
3 选择某一列
1)
range.AttachDispatch(sheet.GetRange(COleVariant(L"A1"),COleVariant(L"A65536"))); //第一列
2)先选择某列中的某个单元格,然后再选择整列
range.AttachDispatch(sheet.GetRange(COleVariant(L"A1"),COleVariant(L"A1"))); //第一列
range=range.GetEntireColumn();
3)先获得所有列,然后再选择某一列
//获得所有列
range.AttachDispatch(sheet.GetColumns(),true);
//选择第一列
range.AttachDispatch(range.GetItem(COleVariant((long)1),vtMissing).pdispVal,TRUE);
4 选择全部CELLS
range.AttachDispatch(sheet.GetCells(),TRUE);//加载所有单元格
5 选择已使用的单元格
range.AttachDispatch(sheet.GetUsedRange());//加载已使用的单元格
6 获取单元格的值
1)
range=sheet.GetRange(COleVariant("A1"),COleVariant("A1"));
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;
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的基本操作之选择范围篇
- 4、VC控制EXCEL的基本操作之选择范围篇
- VC控制EXCEL的基本操作之设置篇
- VC控制EXCEL的基本操作之设置篇
- 1、VC控制EXCEL的基本操作之设置篇
- VC操作Excel之基本操作 修改问题篇
- VC操作Excel之基本操作
- VC操作Excel之基本操作
- VC 操作Excel 2007的基本操作!
- VC操作Excel之基本操作(颜色等)
- java之poi操作excel-基本的excel读写操作
- vc++连接Excel的基本用法,与操作
- Excel 的基本操作
- VC操作Excel的方法
- VC操作Excel的方法
- 简单的vc操作excel
- VC对Excel的操作
- 六、基本控制结构之选择结构
- jQuery源码分析10--方法链式调用的实现
- ubuntu换源
- Hdu 2080
- iOS UIControl类的使用
- 利用gcc编译操作系统内核的一些参数项
- 4、VC控制EXCEL的基本操作之选择范围篇
- 安装archlinux时遇到的问题--grub安装失败
- 文件句柄、文件描述符与进程和多线程的那些事
- Spring注解
- 神经网络中的BPTT算法简单介绍
- 三种备份方式(LAN Base,LAN free,ServerLess)
- Espresso listview中item 的click事件
- CSS字体设置概览
- mysql中将null转变为0