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();
}
}
环境: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();
}
}
正确的是CSV
CSV才是默认按, 分隔
而CVS是你自己的格式,打开时候要自己选分隔符号
如果你不选,默认按TAB字符分隔
输出的时候就不用逗号,用'\t'
比如:
file.WriteString(("line1\t"));
for (int i = 0; i < 11; i++)
{
CString strOrder;
strOrder.Format("%d\t",i);
file.WriteString(strOrder);
}
CTime curTime = CTime::GetCurrentTime();
curTime.GetYear();
curTime.GetHour();
curTime.GetMinute();
curTime.GetSecond();