VC++操作Excel在VS2008编码实例(二)

2014-11-24 08:35:51 · 作者: · 浏览: 2
nge = m_ExlWorkSheet.get_Range(COleVariant(_T("A2")), COleVariant(_T("C2")));
VARIANT vResult = unionRange.get_MergeCells();
unionRange = unionRange.get_Resize(COleVariant((long)2), COleVariant((long)3));
unionRange.Merge(COleVariant((long)0)); //合并单元格
unionRange.put_RowHeight(COleVariant((short)30)); //设置单元格的高度
unionRange.put_HorizontalAlignment(COleVariant((long)-4108));// 水平居中对齐 // 自动适合尺寸


//4、向单元格中插入图片(支持BMP、JPG格式,其他没试)


gsExcel::CShapes shapes = m_ExlWorkSheet.get_Shapes(); // 从Sheet对象上获得一个Shapes
m_ExlRange = m_ExlWorkSheet.get_Range(COleVariant(_T("B16")),COleVariant(_T("G22"))); // 获得Range对象,用来插入图片


gsExcel::CRange rgMyRge1;
rgMyRge1 = m_ExlRange;


strTheAppPath += _T("001.jpg");
shapes.AddPicture(strTheAppPath , false , true ,
(float)m_ExlRange .get_Left().dblVal, (float)m_ExlRange .get_Top().dblVal, // 从本地添加一个图片
(float)m_ExlRange .get_Width().dblVal, (float)m_ExlRange .get_Height().dblVal);


gsExcel::CShapeRange sRange = shapes.get_Range(_variant_t(long(1)));


sRange.put_Height(float(30));
sRange.put_Width(float(30));




//m_ExlApp.put_Visible(TRUE);
//m_ExlApp.put_UserControl(TRUE);


//5、将已建的.xls文件另存为
m_ExlWorkBook.SaveAs(COleVariant(strTemplatePath),covOptional,covOptional,
covOptional,covOptional,covOptional,0,
covOptional,covOptional,covOptional,covOptional,covOptional);




//6、关闭Excel服务
m_ExlWorkBook.put_Saved(TRUE); // 将Workbook的保存状态设置为已保存,即不让系统提示是否人工保存
//m_ExlRange.ReleaseDispatch(); // 释放Range对象
//m_ExlColor.ReleaseDispatch();
//m_ExlWorkSheet.ReleaseDispatch(); // 释放Sheet对象
//m_ExlWorkSheets.ReleaseDispatch(); // 释放Sheets对象


//m_ExlWorkBook.ReleaseDispatch(); // 释放Workbook对象
//m_ExlWorkBooks.ReleaseDispatch(); // 释放Workbooks对象


m_ExlWorkBook.Close (covOptional, covOptional,covOptional);// 关闭Workbook对象
m_ExlWorkBooks.Close(); // 关闭Workbooks对象


m_ExlApp.Quit(); // 退出_Application
//m_ExlApp.ReleaseDispatch (); // 释放_Application


欢迎一起交流提高,QQ:1906733710,欢迎来踩我哦:http://www.csto.com/my/info/edit