用VC++编了一个从EXCEL表中提取数据然后写入txt文件的程序,
用GetFieldValue将表格内容提出以后,存成CString,但是这样做以后显示的并不是表格中所显示的数据,
比方EXCEL中显示的是1,那么提出以后就变成了1.0。
而比方时间数据,EXCEL中显示的是6:30,提出以后变成了1899-12-30 00:06:30
请问这是怎么回事,怎么解决,谢谢!
用GetFieldValue将表格内容提出以后,存成CString,但是这样做以后显示的并不是表格中所显示的数据,
比方EXCEL中显示的是1,那么提出以后就变成了1.0。
而比方时间数据,EXCEL中显示的是6:30,提出以后变成了1899-12-30 00:06:30
请问这是怎么回事,怎么解决,谢谢!
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);
EXCEL中1是用常规形式存储的,
而6:30是用时间格式存储的。
利用atoi可以将1.0转换为1,
而用strcpy将时间值存入一个字符串中,然后将需要的字符提取出来就可以了。还是谢谢大家了。