码迷,mamicode.com
首页 > 编程语言 > 详细

【20160924】GOCVHelper MFC增强算法(5)

时间:2016-09-25 23:33:55      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:

CString ExportListToExcel(CString  sExcelFile,CListCtrlpListCString strTitle)
    {
        CString warningStr;
        if (pList->GetItemCount ()>0) {    
            CDatabase database;
            
            
            CString sSql;
            CString tableName = strTitle;
            // 检索是否安装有Excel驱动 "Microsoft Excel Driver (*.xls)" 
            CString sDriver;
            sDriver = GetExcelDriver();
            if (sDriver.IsEmpty())
            {
                // 没有发现Excel驱动
                AfxMessageBox("没有安装Excel!\n请先安装Excel软件才能使用导出功能!");
                return NULL;
            }
            ///默认文件名
        /*    CString sExcelFile; 
            if (!GetDefaultXlsFileName(sExcelFile))
                return NULL;*/
            // 创建进行存取的字符串
            sSql.Format("DRIVER={%s};DSN=‘‘;FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriversExcelFilesExcelFile);
            // 创建数据库 (既Excel表格文件)
            ifdatabase.OpenEx(sSql,CDatabase::noOdbcDialog) )
            {
                // 创建表结构
                int i;
                LVCOLUMN columnData;
                CString columnName;
                int columnNum = 0;
                CString strH;
                CString strV;
                sSql = "";
                strH = "";
                columnData.mask = LVCF_TEXT;
                columnData.cchTextMax =100;
                columnData.pszText = columnName.GetBuffer (100);
                for(i=0;pList->GetColumn(i,&columnData);i++)
                {
                    if (i!=0)
                    {
                        sSql = sSql + ", " ;
                        strH = strH + ", " ;
                    }
                    sSql = sSql + " " + columnData.pszText +" TEXT";
                    strH = strH + " " + columnData.pszText +" ";
                }
                columnName.ReleaseBuffer ();
                columnNum = i;
                sSql = "CREATE TABLE " + tableName + " ( " + sSql +  " ) ";
                database.ExecuteSQL(sSql);
                // 插入数据项
                int nItemIndex;
                for (nItemIndex=0;nItemIndex<pList->GetItemCount ();nItemIndex++){
                    strV = "";
                    for(i=0;i<columnNum;i++)
                    {
                        if (i!=0)
                        {
                            strV = strV + ", " ;
                        }
                        strV = strV + " ‘" + pList->GetItemText(nItemIndex,i) +"‘ ";
                    }
                    sSql = "INSERT INTO "tableName 
                        +" ("strH + ")"
                        +" VALUES("strV + ")";
                    database.ExecuteSQL(sSql);
                }
            }      
            // 关闭数据库
            database.Close();
            return sExcelFile;
        }
    }
图像处理生成了结果,如果需要保存为报表文件,或者想进一步存入数据库中,Excel都是非常好的选择。在这里集成了vc知识库中提供的代码。版权为
    //////////////////////////////////////////////////////////////////////////////
    //名称:GetExcelDriver
    //功能:获取ODBC中Excel驱动
    //作者:徐景周(jingzhou_xu@163.net)
    //组织:未来工作室(Future Studio)
    //日期:2002.9.1
    /////////////////////////////////////////////////////////////////////////////
使用的时候,只需要将生成的结果填入CListCtrl控件中,而后直接到处就可以。也就是把excel输出的问题变成了向CListCtrl控件输出的问题。同时代码中还提供了能够直接写到两个sheet中的方法,可供参考




【20160924】GOCVHelper MFC增强算法(5)

标签:

原文地址:http://www.cnblogs.com/jsxyhelu/p/5907526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!