设为首页 加入收藏

TOP

MFC输出EXCEL文档的过程总结(三)
2014-11-23 20:18:01 来源: 作者: 【 】 浏览:242
Tags:MFC 输出 EXCEL 文档 过程 总结
t");
fprintf(pfile, strProCap + "\t");
fprintf(pfile, strProDirection + "\t");
fprintf(pfile, strProSrc + "\t");
fprintf(pfile, strProSrcAccess + "\t");
fprintf(pfile, strProSrcConGroup + "\t");
fprintf(pfile, strProDst + "\t");
fprintf(pfile, strProDstAccess + "\t");
fprintf(pfile, strProDstConGroup + "\t");
fprintf(pfile, strProStatus + "\t");
fprintf(pfile, strProCreateTime + "\t\n");
}
fclose(pfile);
}
else
{
CString strmsg;
strmsg.LoadString(IDS_CLOSEEXCEL);
AfxMessageBox(strmsg, 0, 0);
}
}
2、 这种输入方式,适合后台输出,不需要打开EXCEL文件,不需要选择输出路径,只是后台自己默默的记录EXCEL文件。
[cpp]
CString sFile,sPath;
CString strChuType = "-";
CString strChuStatus = "-";

GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH); //获取主程序所在路径,存在sPath中
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
sFile = sPath + "\\ServerOption";
sFile = sFile +"\\ChuStatusRecord";
sFile = sFile + "\\" + pGroup->GetNeName() +"(" +TheUser.GetCurrentUserName() + ")"+".xls";
HANDLE hFile = CreateFile(sFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
HRESULT hr = GetLastError();
if ( ERROR_ACCESS_DENIED == hr || ERROR_SHARING_VIOLATION == hr)
{
return ;
}
}
else
{
// 文件未被打开
CloseHandle(hFile);
}
CString strSheet, str;
CStringArray sampleArray, testRow;
CSpreadSheet SS(sFile, "CHU"); //新建Excel文件名及路径,TestSheet为内部表名
SS.BeginTransaction();
sampleArray.RemoveAll();
str.LoadString(IDS_EQUIPTYPE); //设备类型
sampleArray.Add(str);
str.LoadString(IDS_NE_NAME); //设备名称
sampleArray.Add(str);
str.LoadString(IDS_EQP_DLDIP); //设备地址
sampleArray.Add(str);
str.LoadString(IDS_SLOT); //槽号
sampleArray.Add(str);
str.LoadString(IDS_CHUNO); //话路编号
sampleArray.Add(str);
str.LoadString(IDS_CHNTYPE); //话路类型
sampleArray.Add(str);
str.LoadString(IDS_CHU_STATUS); //话路状态
sampleArray.Add(str);
str.LoadString(IDS_ALMLISTBEGINTIME); //开始时间
sampleArray.Add(str);
str.LoadString(IDS_ALMLISTENDTIME); //结束时间
sampleArray.Add(str);
SS.AddHeaders(sampleArray);

CHHCardBase* pCardBase = dynamic_cast(pGroup->DBase->GetSuperCardBase(ucSystemCardSlot));
if( pCardBase != NULL )
{
BYTE bCount = pParam[5];
int OFFSET = 6;
for (int index = 0; index < bCount ; index++)
{
BYTE bChuNo = pParam[OFFSET++];
BYTE bChuType = pParam[OFFSET++];
BYTE bChuStatus = pParam[OFFSET++];

CHHPort* pPort = pCardBase->GetPortByType( bChuNo, Port_CHU );
if( pPort == NULL )
continue;
CHHChuIfModule* pModule = dynamic_cast(pPort->GetModule( Mod_ChuIf ));
if( pModule == NULL )
continue;

str.Empty();
sampleArray.RemoveAll();
str = pGroup->GetSeriesName();
sampleArray.Add(str);
str = pGroup->GetNeName();
sampleArray.Add(str);
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC获得系统文件夹路径 下一篇vc编译exe的体积最小优化

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: