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


    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! 请先安装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中的方法,可供参考





  • 相关阅读:
    找到了2年前的一个微博小号
    Float Equal Problem
    有用的护肤品贴
    最近状态总结
    [Coursera]Machine Learning
    KMP算法(转载)
    [Leetcode] Median of Two Sorted Arrays
    [Algorithms(Princeton)] Week1
    [Algorithms(Princeton)] Week1
    [Leetcode] Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/jsxyhelu/p/5907526.html
Copyright © 2020-2023  润新知