1. 程式人生 > >VC++6.0 MFC將列表控制元件中內容儲存到EXCEL

VC++6.0 MFC將列表控制元件中內容儲存到EXCEL

1、獲取工作路徑 

//獲取工作路徑 
CString GetWorkDir()
{
	char pFileName[MAX_PATH];   
	int nPos=GetCurrentDirectory( MAX_PATH, pFileName);   
	CString csFullPath(pFileName);
	csFullPath+="\\";
	if(nPos<0)   
		return CString("");   
	else   
		return csFullPath;   
}

2、儲存檔案按鈕程式碼

    //獲取當前時間
    CTime time=CTime::GetCurrentTime();
	CString strRptTime =time.Format("%Y%m%d%H%M%S");
	// 實現存檔
	CString buff0[1024],buff1[1024],buff2[1024],buff3[1024],buff4[1024],buff5[1024],buff6[1024],buff7[1024],buff8[1024];
	CString fileName = GetWorkDir()+ strRptTime+".xls";//儲存路徑是工作路徑5555
	CFile file(fileName, 
    CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);
	CString Listcol="序號\t日期\t星期\t時間\t溫度(℃)\t溼度(%RH)\t光照強度(lx)\tCO2濃度(ppm)\t備註\n";//檔案表頭
	file.Write(Listcol,Listcol.GetLength());
	int i=0;
	int j=0;
	j=m_ListData.GetItemCount();//獲取行號(m_ListData是列表控制元件變數)
	if(j>0)
	{
		for(i=0;i<j;i++)
		{
			buff0[i] = m_ListData.GetItemText(i,0);
			buff1[i] = m_ListData.GetItemText(i,1);
			buff2[i] = m_ListData.GetItemText(i,2);
			buff3[i] = m_ListData.GetItemText(i,3);
			buff4[i] = m_ListData.GetItemText(i,4);
			buff5[i] = m_ListData.GetItemText(i,5);
			buff6[i] = m_ListData.GetItemText(i,6);
			buff7[i] = m_ListData.GetItemText(i,7);
			buff8[i] = m_ListData.GetItemText(i,8);
			CString msg;		
msg.Format("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t\n",
buff0[i],buff1[i],buff2[i],buff3[i],buff4[i],buff5[i],buff6[i],buff7[i],buff8[i]);
			file.Write(msg,msg.GetLength());
		}
	}
	file.Close();
	AfxMessageBox("匯出檔案完成!");
}