天天看点

文件操作——将数据导出到Excel

将数据导出到Excel(.csv)表格中

#include <string>
#include <fstream>
using namespace std;

void TestFileOut()
{
	OPENFILENAME ofn = { 0 };
	ofn.lStructSize = sizeof(OPENFILENAME);
	TCHAR strFileName[MAX_PATH] = { 0 };
	ofn.lpstrFile = strFileName;
	ofn.nMaxFile = MAX_PATH;
	ofn.lpstrFilter = L".csv";
	ofn.hwndOwner = GetHWND();
	ofn.lpstrDefExt = L"csv";
	ofn.Flags = OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
	if (::GetSaveFileName(&ofn))
	{
		//TCHAR转string
		int iLen = WideCharToMultiByte(CP_ACP, 0, strFileName, -1, NULL, 0, NULL, NULL);
		char* chRtn = new char[iLen * sizeof(char)];
		WideCharToMultiByte(CP_ACP, 0, strFileName, -1, chRtn, iLen, NULL, NULL);
		std::string str(chRtn);

		//文件操作
		ofstream ofs;
		ofs.open(str.c_str(), ios::out | ios::trunc);

		ofs << "用户编号" << "," << "用户姓名" << "," << "操作对象" << "," << "操作类型" << "," << "操作时间" << endl;
		//string userId, userName, Obj, Type, Time;
		for (int i=0;i<5;i++)
		{
			ofs << "123" << "," << "马云" << "," << "锤子" << "," << "支付宝" << "," << "2017" << endl;
		}

		ofs.close();
	}
}
           

继续阅读