关于操作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);