首页 > 代码库 > 写入.csv文件

写入.csv文件

#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 (0 != 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 0;    }    CString strFilePath = WRITE_CSV_TEST_FILE;    fileStatistics.Open(_T(strFilePath), CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);    s_bDataFileIsOpen = TRUE;    return 0;}int CloseDataFile(CStdioFile &fileStatistics){    if (s_bDataFileIsOpen )    {        fileStatistics.Close();        s_bDataFileIsOpen = FALSE;    }    return 0;}int WriteData(CStdioFile &fileStatistics, CString &strData){    if (s_bDataFileIsOpen )    {        fileStatistics.WriteString(strData);        return 0;    }    else    {        return 1;    }}BOOL CheckFileIsOpen(){    return s_bDataFileIsOpen ;}

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

写入.csv文件