VC操作excel 内附合并单元格算法and为excel画边框算法

本文介绍了使用VC操作Excel的方法,包括如何创建和打开Excel文件,以及提供了一个算法来高效地合并表头单元格。此外,还展示了如何为Excel单元格画边框,整个过程涉及对Excel对象模型的使用和错误处理。
摘要由CSDN通过智能技术生成

关于操作excel的资料不多 此文只为新手整理一下用VC操作excel的一个思路~~ 

以前给表头合并单格总是古板的一个格一个格去查,但是每个表头合并单元格肯定不是固定的,一个个查去实在是浪费精力 浪费时间

所以就写个小算法吧~

#include "excel.h" //别忘把excel.h excel.cpp拷贝到工程下面  然后引入!

#include "comdef.h"

 

 char szFilter[]="Text files(*.xls)|*.xls||";
 char szExt[]="xls";
 char szName[]="*.xls";
 CFileDialog dialog(false, szExt, szName,0,szFilter,this);
 dialog.m_ofn.lpstrTitle="存放文件夹";
 if(dialog.DoModal()==IDOK)//弹出CFileDialog 判断用户是否点击确定按钮
 {  
  CString str;
  str=dialog.GetPathName();
        CFile f;
  CFileException e;
  if( !f.Open( str, CFile::modeCreate | CFile::modeWrite, &e ) )
  {
   MessageBox("创建文件失败!!","XX软件",MB_ICONSTOP);
   return;
  }//创建并打开文件
  
  //从VC中的Microsoft FlexGrid控件逐行逐列读取数据并到str中
  CString jc="";
  for(int i=0;i<m_grid.GetRows();i++)
  {
   for(int j=0;j<m_grid.GetCols();j++)
   {
    CString temp=m_grid.GetTextMatrix(i,j);
    temp.TrimLeft();
    temp.TrimRight();
    jc+=temp+" ";
   }
   jc=jc.Left(jc.GetLength()-1);
   jc+="/r/n";
   f.Write(jc,jc.GetLength());
   jc="";
  }
  f.Close();
   
  CString sheetname;
  _Application   ExcelApp;    
  Workbooks   wbsMyBooks;    
  _Workbook   wbMyBook;    
  Worksheets   wssMysheets;    
  _Worksheet   wsMysheet;    
  Range   rgMyRge; 
  COleVariant vResult,vsty;
  COleVariant
        covTrue((short)TRUE),
        covFalse((short)FALSE),
        covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值