我有一组EXCEL表格数据,现在把它保存为.txt或.xls文件,现在的任务是读取文件的内容,然后把它格式化显示在视图中。集思广益,参与有分!如
在excel 中
-------------------------------
23   |   234   |    345|   87  |
--------------------------------
75   |   123   |    33 |   32  |
--------------------------------
在视图中输出格式类似

解决方案 »

  1.   

    CStdioFile inFile;
    if(!inFile.Open("C:\\test.txt",CFile::modeRead|CFile::typeText))
       return;
    CString str;
    char buff[256];
    char seps[] = " |";//按空格" ",和"|"作为分割符提取内容
    char *token = NULL;
    while(inFile.ReadString(str))//按行读取内容
    {
      ::lstrcpy(buff,str);
      token = strtok(buff,seps);
      while(token!=NULL)
     {
      //这里token指向本次提取的内容
      //第一次是23
      //第二次是234
      //第三次是345
      //...
      token = strtok(NULL,seps);
     }}
      

  2.   

    将excel文件用数据库方式打开:
    CDatabase database;
        CString sSql;
        CString sDriver;
        CString sDsn;
        CString sFile;    //你的excel文件路径,最好用CFileDialog得到
        int m_dTotalColumns = 0;  //列数
        CString sExcelDrive;
        sFile = m_FinalWage ;
        // 是否安装有Excel驱动 "Microsoft Excel Driver (*.xls)" 
        sExcelDrive = GetExcelDriver();
        if (sExcelDrive.IsEmpty())
        {
            AfxMessageBox(" not find Excel driver!");
            return;
        }
        
       sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s",sDriver,sFile);     try
        {
            // 打开数据库(即Excel文件)
            database.Open(NULL, false, false, sDsn);
            
            CRecordset rs(&database);        // 设置读取的查询语句.
           sSql.Format("SELECT * FROM [%s$A1:IV65536]", sheetname);
           rs.Open( CRecordset::forwardOnly,sSql,CRecordset::readOnly);
           CString sFieldValue;
           m_dTotalColumns = m_rSheet->m_nResultCols; // Get number of columns
           while (rs.IsEof())
           {
                 for (short column = 0; column < m_dTotalColumns; column++)
          {
    rs->GetFieldValue(column, sFieldValue);
                      //
                      //在这里你可以将读出的数据用CDC向视图中画了
                      //
                   }
           }
       }
       catch (...)
      {
      }
      

  3.   

    好像不困难把,只要写的时候注意字符串的大小和位置就可以了顺便提一句EXCEL的文件可以存成CSV,处理起来更简单
      

  4.   

    在视图中加入CListCtrl空件.
    然后一个一个插入List中.