天天看點

檔案操作——将資料導出到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();
	}
}
           

繼續閱讀