OS:Windows7
环境:Visual Studio 2010 VC++ MFC Application问题:创建CVS文件,并写入数据。在Excel里面显示时为在不同网格里。现在代码如下。总是出现在一个网格里面,请求支援。
下面的实现方法号码?有更好的实现方法吗?多多指教。
 
CString strFileName;
CStdioFile file;CFileDialog savedlg(false,"cvs","*.cvs",OFN_OVERWRITEPROMPT|OFN_CREATEPROMPT,
"CVS Files (*.cvs)|*.cvs",NULL);
if (savedlg.DoModal() == IDOK)
{
     strFileName = savedlg.GetPathName();
     if (!file.Open (strFileName,CFile::modeCreate|CFile::modeWrite))
{
AfxMessageBox(1);
}
else
{
//GetWindowText(strcontent);
file.WriteString(("line1,"));
for (int i = 0; i < 11; i++)
{
CString strOrder;
strOrder.Format("%d,",i);
file.WriteString(strOrder);
}
file.Close();
}
}

解决方案 »

  1.   

    cvs 拼写错误
    正确的是CSV
    CSV才是默认按, 分隔
    而CVS是你自己的格式,打开时候要自己选分隔符号
    如果你不选,默认按TAB字符分隔
      

  2.   

    这就是说,如果你想任意情况都可以顺利打开
    输出的时候就不用逗号,用'\t'
    比如:
    file.WriteString(("line1\t"));
    for (int i = 0; i < 11; i++)
    {
    CString strOrder;
    strOrder.Format("%d\t",i);
    file.WriteString(strOrder);
    }
      

  3.   


    CTime curTime = CTime::GetCurrentTime();
    curTime.GetYear();
    curTime.GetHour();
    curTime.GetMinute();
    curTime.GetSecond();