写入.csv文件

时间:2022-04-15 09:06:26
#include "stdafx.h"
#include "WriteCsv.h"
CString m_strData;//写入记录的一条数据
CString strTempData;//临时的记录数据
double dData1 = 1.1, dData2 = 2.2, dData3 = 3.3, dData4 = 4.4;
strTempData.Format("%3.3f,%3.3f,%3.3f", dData1, dData2, dData3);
m_strData += strTempData + ",";//","代表在Excel中分隔开到另一个单元格
strTempData.Format("%3.3f", dData4);
m_strData += strTempData + ",\n";//表示字符串可+,即可灵活拼接想要的数据;"\n"代表在表中换行
//打开连续记录数据的文件
CStdioFile fileDataFile;
int nRes = OpenWeightFile(fileDataFile);
if ( != nRes)
{
WBMessageBox("打开记录文件失败");
m_strData.Empty();
return TRUE;
}
fileDataFile.SeekToEnd();//定位到文件末尾 WriteWeightData(fileDataFile, m_strData); m_strData.Empty(); CloseDataFile(fileDataFile);
#define WRITE_CSV_TEST_FILE ".\\cfg\\Data.csv"    //数据连续记录路径
//数据记录
int OpenFile(CStdioFile &fileStatistics);
int CloseDataFile(CStdioFile &fileStatistics);
int WriteData(CStdioFile &fileStatistics, CString &strData);
BOOL CheckFileIsOpen();

#include "stdafx.h"
#include "WriteCsv.h"
//数据记录
static BOOL s_bDataFileIsOpen = FALSE; int OpenFile(CStdioFile &fileStatistics)
{
if (s_bDataFileIsOpen )
{
return ;
} CString strFilePath = WRITE_CSV_TEST_FILE;
fileStatistics.Open(_T(strFilePath), CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);
s_bDataFileIsOpen = TRUE; return ;
} int CloseDataFile(CStdioFile &fileStatistics)
{
if (s_bDataFileIsOpen )
{
fileStatistics.Close();
s_bDataFileIsOpen = FALSE;
} return ;
} int WriteData(CStdioFile &fileStatistics, CString &strData)
{
if (s_bDataFileIsOpen )
{
fileStatistics.WriteString(strData);
return ;
}
else
{
return ;
}
} BOOL CheckFileIsOpen()
{
return s_bDataFileIsOpen ;
}

将数据dData1、dData2、dData3、dData4写入.csv文件中。.csv文件打开为Excel形式。程序执行的结果为在excel中第一行的对应单元格中记录dData数据,编写时的","即为分隔符,若果要换行则+"\n'即可。