关于保存为Excel文件的问题

void     SaveToExcel(CStringArray   &arry,int   RowCount,CString   filePath)
{
int   i,j,ColCount;
ColCount=arry.GetSize()/RowCount;

CString   filename,strCreatTable,strInsert,strValue;
//filePath.Format("d://Test.xls");
DeleteFile(filePath);

CDatabase   database;
CString   sDriver   =   "MICROSOFT   EXCEL   DRIVER   (*.XLS)";   //   Excel安装驱动
CString   sSql;
  sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=/"%s/";DBQ=%s", sDriver,   filePath,   filePath);
TRY{
if(   database.OpenEx(sSql,   CDatabase::noOdbcDialog)   )
{
//赋值strCreatTable
strCreatTable="CREATE   TABLE   结果表   (   ";

for   (j=0;j <ColCount;j++)
{
if   (j==ColCount-1)
strValue+=arry.GetAt(j)+"   TEXT   ";
else
strValue+=arry.GetAt(j)+"   TEXT   "+",   ";
}
strCreatTable+=strValue+")";
sSql=strCreatTable;
database.ExecuteSQL(sSql);

//赋值strInsert,   从第二行开始   。
for   (i=1;i <RowCount;i++)
{
strInsert="   INSERT   INTO   结果表   ("   +   strValue   +")VALUES"+"(";

for   (j=0;j <ColCount;j++)
{
strInsert   =   strInsert   +   "   '"   +   arry.GetAt(i*ColCount+j)   +"'   ";
if   (j!=ColCount-1)
strInsert+=",";
}
strInsert+=")";

sSql=strInsert;
database.ExecuteSQL(sSql);    
} //end   of   for();
//   关闭数据库
database.Close();
}
ShellExecute(NULL,   NULL,"Excel.exe",   filePath,   NULL,   SW_SHOWNORMAL);
}
CATCH_ALL(e)
{
//TRACE1("Excel驱动没有安装:   %s",sDriver);
AfxMessageBox("不能打开Excel文件!");
}
END_CATCH_ALL;


}

其中strCreatTable="CREATE   TABLE   结果表   (   PL5.1   TEXT   ,   理论   TEXT   ,   实际   TEXT   ,   偏差   TEXT   ,   上公差   TEXT   ,   下公差   TEXT   ,   超差   TEXT   )"
这是在调试时strCreatTable的值,但执行这个sql语句时,程序就会执行到
CATCH_ALL(e)
{
//TRACE1("Excel驱动没有安装:   %s",sDriver);
AfxMessageBox("不能打开Excel文件!");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值