用VC++编了一个从EXCEL表中提取数据然后写入txt文件的程序,
用GetFieldValue将表格内容提出以后,存成CString,但是这样做以后显示的并不是表格中所显示的数据,
比方EXCEL中显示的是1,那么提出以后就变成了1.0。
而比方时间数据,EXCEL中显示的是6:30,提出以后变成了1899-12-30 00:06:30 
请问这是怎么回事,怎么解决,谢谢!

解决方案 »

  1.   

    str.Format("periods definition(16 records):\r\n");
            file.WriteString(str);
            str.Format("hour   minute   plan_num\r\n");
            file.WriteString(str);
            str.Format("\r\n");

    while( !recset.IsEOF() )
    {
    // Read the result line
    recset.GetFieldValue("序号",sItem1);
    recset.GetFieldValue("开始时间",sItem2);
                recset.GetFieldValue("结束时间",sItem3);
                recset.GetFieldValue("控制方案",sItem4); // Insert result into the list
    m_ctrlList.AddString( sItem1 + "  " +sItem2 + " --> " + sItem3 + "  " +sItem4);
                file.WriteString(sItem1);
                str1.Format("  ");
                file.WriteString(str1);
    file.WriteString(sItem2);
                file.WriteString(str1);
                file.WriteString(sItem4);
                file.WriteString(str);
      

  2.   

    http://topic.csdn.net/u/20091020/11/41a3399e-3c18-4b60-a096-7be3e8ec690a.html
      

  3.   

    从EXCEL提数据的时候用的都是CString,
    EXCEL中1是用常规形式存储的,
    而6:30是用时间格式存储的。
      

  4.   

    我现在知道如何处理了,
    利用atoi可以将1.0转换为1,
    而用strcpy将时间值存入一个字符串中,然后将需要的字符提取出来就可以了。还是谢谢大家了。