CString sFile,sPath;
_Application app;
Workbooks books;
_Workbook book;
Worksheets sheets;
_Worksheet sheet;
int count=0; //工作表个数
LPDISPATCH lpDisp; //接口指针
//获取主程序所在路径,存在sPath中
GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('//');
sPath=sPath.Left (nPos);
sFile = sPath + "//基站信息表-1225.xls"; // 将被读取的Excel文件名
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
if(CoInitialize(NULL)!=0)
{
AfxMessageBox("初始化COM支持库失败!");
exit(1);
}
//start Excel 2003 server
if (!app.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("创建Excel服务失败!");
exit(1);
}
CString sheetName;
books=app.GetWorkbooks();
lpDisp = books.Open(sFile,
covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional, covOptional
, covOptional, covOptional
);
book.AttachDispatch( lpDisp );
sheets=book.GetSheets();
//count=sheets.GetCount(); //获得工作表数量
count=sheets.GetCount(); //获得工作表数量
CString temp;
temp.Format("%d",count);
AfxMessageBox(temp);
//循环所有表
for(int i=1;i <=count;i++)
{
// AfxMessageBox("开始获取工作表!");
//获取第i个工作表
sheet=sheets.GetItem(COleVariant((short)i));
sheetsNames[i] = sheet.GetName();//第i个工作表的表名 就是你要的表名 自己写个字符串数组或结构体来接收
}
app.Quit();