CString ExportListToExcel(CString  sExcelFile,CListCtrl* pList, CString 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",sDriver, sExcelFile, sExcelFile);
 
            // 创建数据库 (既Excel表格文件)
            if( database.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)的更多相关文章

  1. 【20160924】GOCVHelper MFC增强算法(1)

        //递归读取目录下全部文件(flag为r的时候递归)     void getFiles(string path, vector<string>& files,string ...

  2. 【20160924】GOCVHelper MFC增强算法(4)

    //string替换     void string_replace(string & strBig, const string & strsrc, const string & ...

  3. 【20160924】GOCVHelper MFC增强算法(3)

        //获得当前目录路径     static CString GetLocalPath(){         CString csCfgFilePath;         GetModuleFi ...

  4. 【20160924】GOCVHelper MFC增强算法(2)

    //创建或续写目录下的csv文件,填写“文件位置-分类”对     int writeCsv(const string& filename,const Vector<pair<st ...

  5. 基于Matlab的MMSE的语音增强算法的研究

    本课题隶属于学校的创新性课题研究项目.2012年就已经做完了,今天一并拿来发表.   目录: --基于谱减法的语音信号增强算法..................................... ...

  6. 图像处理之Retinex增强算法(SSR、MSR、MSRCR)

    视网膜-大脑皮层(Retinex)理论认为世界是无色的,人眼看到的世界是光与物质相互作用的结果,也就是说,映射到人眼中的图像和光的长波(R).中波(G).短波(B)以及物体的反射性质有关 其中I是人眼 ...

  7. 【红外DDE算法】数字细节增强算法的缘由与效果(我对FLIR文档详解)

    [红外DDE算法]数字细节增强算法的缘由与效果(我对FLIR文档详解) 1. 为什么红外系统中图像大多是14bit(甚至更高)?一个红外系统的性能经常以其探测的范围来区别,以及其对最小等效温差指标.首 ...

  8. 夜晚场景图像ISP增强算法

    夜晚场景图像ISP增强算法 输入输出接口 Input: (1)图像视频分辨率(整型int) (2)图像视频格式(RGB,YUV,MP4等) (3)摄像头标定参数(中心位置(x,y)和5个畸变 系数(2 ...

  9. AliCloudDenoise 语音增强算法:助力实时会议系统进入超清音质时代

    近些年,随着实时通信技术的发展,在线会议逐渐成为人们工作中不可或缺的重要办公工具,据不完全统计,线上会议中约有 75% 为纯语音会议,即无需开启摄像头和屏幕共享功能,此时会议中的语音质量和清晰度对线上 ...

随机推荐

  1. iOS8中用UIVisualEffectView实现高斯模糊视图(毛玻璃效果)

    UIBlurEffect *beffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; UIVisualEffectView *vi ...

  2. nginx的基本配置和虚拟主机的配置

    在Nginx配置文件(nginx.conf)中,一个最简化的虚拟主机配置代码如下: 跟Apache -样,Nginx也可以配置多种类型的虚拟圭机:一是基于IP的虚拟主机,二是基于域名的虚拟主机,三是基 ...

  3. CCF真题之出现次数最多的数

    201312-1 问题描述 给定n个正整数,找出它们中出现次数最多的数.如果这样的数有多个,请输出其中最小的一个. 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数. ...

  4. kafka管理器kafka-manager部署安装

    运行的环境要求 Kafka 0.8.1.1+ sbt 0.13.x Java 7+ 功能 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具, ...

  5. ajax“显示弹窗详情”和“删除”功能练习

    1.查看详细信息,以弹窗的形式显示,使用ajax 2.批量删除 “查询”功能可以参考前面的文章,这里只讲解ajax“显示弹窗详情”和“删除”功能 第一:在body中的代码 <title>a ...

  6. SQL Server 数据查询 整理

    一.使用SELECT检索数据 数据查询是SQL语言的中心内容,SELECT 语句的作用是让数据库服务器根据客户要求检索出所需要的信息资料,并按照规定的格式进行整理,返回给客户端. SELECT 语句的 ...

  7. 创建与删除SQL约束或字段约束

    1)禁止所有表约束的SQLselect 'alter table '+name+' nocheck constraint all' from sysobjects where type='U'2)删除 ...

  8. centos 7 systemctl

    Linux Systemctl是一个系统管理守护进程.工具和库的集合,用于取代System V.service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器.通过Syst ...

  9. TI BLE CC2541的I2C主模式

    由于要写TM1680, 写命令跟写数据, 所以需要使用CC2541的I2C, 2541是有硬件I2C的. tm1680.c: #include "tm1680.h" //TM168 ...

  10. Erlang-特性

    一.模式匹配: 模式匹配作为Erlang的基础,用来完成很多不同的任务:可以用它从数据结构中提取字段值,在函数中进行流程控制,或者当你向一个进程发送消息时,从并行程序刷选那些需要处理的消息: 二.函数 ...