我这里用的是ACCESS数据库,现在要将数据导出,格式为TXT,或者EXCEL格式。哪位能帮忙啊。我这里急需代码和接口。谁要是能帮忙。分马上送到。
请大家多帮忙!

解决方案 »

  1.   

    导出到EXCEL文件:
    void OnBnClickedButtonExport()
    {
    // TODO: 在此添加控件通知处理程序代码

      CDatabase database;
      CString sCarId,sVin,sProduceId,sCarType,sColor,sEngine,sDate;  CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动
      CString sExcelFile = _T(""); // 要建立的Excel文件
      CString sSql;  //文件类型过滤字符串,保证只保存为"*.txt"文件
    static char BASED_CODE szFilter[] = "Excel Files (*.xls)|*.xls||"; //第一个参数为FALSE,保证为保存文件
    CFileDialog dlg(FALSE,NULL,NULL,OFN_HIDEREADONLY 
    | OFN_OVERWRITEPROMPT,szFilter,NULL);
    if(dlg.DoModal() == IDOK)
    {
    //将字符包存在选择的文件中
    sExcelFile=dlg.GetPathName();
        try
    {
    // 创建进行存取的字符串
    sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver, sExcelFile, sExcelFile); // 创建数据库 (既Excel表格文件)
    if(database.OpenEx(sSql,CDatabase::noOdbcDialog) )
    { // 创建表结构
    sSql = "CREATE TABLE back (CarId TEXT,Vin TEXT,ProduceId TEXT,CarType TEXT,Color TEXT,Engine TEXT,Dates TEXT)";
    database.ExecuteSQL(sSql);
     // 插入数值
    //下面是你所要导出的数据库
    if(m_cPaintcheck.GetCheck())
    {
    paintRecordset->MoveFirst();//将指针移到数据库第一条记录位置
    while(!paintRecordset->adoEOF)
    {
    vVin = paintRecordset->GetCollect("vin");
    vId = paintRecordset->GetCollect("carid");
    vType = paintRecordset->GetCollect("cartype");
    vColor = paintRecordset->GetCollect("colorname");
    vDate=paintRecordset->GetCollect("date"); sCarId=(CString)vId;
    sVin=(CString)vVin;
    sProduceId=_T("");
    sCarType=(CString)vType;
    sColor=(CString)vColor;
    sEngine=_T("");
    sDate=(CString)vDate;

    sSql.Format("INSERT INTO back (CarId,Vin,ProduceId,CarType,Color,Engine,Dates) VALUES ('%s','%s','%s','%s','%s','%s','%s')",sCarId,sVin,sProduceId,sCarType,sColor,sEngine,sDate);
    database.ExecuteSQL(sSql); paintRecordset->MoveNext();
    }
    }
     
    // 关闭数据库
    database.Close();
    }
    catch(_com_error)
    {
    TRACE1("Excel驱动没有安装: %s",sDriver);
    }
    }
      //END_CATCH_ALL;
    }
      

  2.   

    忘说了要包含以下头文件:#include <afxdb.h> #include <odbcinst.h>
      

  3.   


    上面的这位老大,你给的代码是将ACCESS数据库中的文件导出TXT和EXCEL格式么?
    另外,这里的接口是什么啊?
    能帮解释下么
    谢谢
      

  4.   

    我现在有个想法,看能行不/
    1.建立函数:DataDerive(*PConnect,Mode)
    2.将数据读到自己建立的表中
    3.弹出选择菜单,里面包括TXT,和EXCEL格式拱选择。
    4.如选择TXT,则创建TXT文档,写入数据,关闭。
    5.如选择EXCEL,则创建EXCEL表格,写入数据,关闭。
    哪位能帮忙写下啊
    谢谢