VC中将数据导出到Excel表格中
作者:网络转载 发布时间:[ 2014/7/22 10:38:36 ] 推荐标签:VC 数据库
六、得到当前路径,打开模板,导出数据到excel中
|
<span style="white-space:pre"> </span>wchar_t path[MAX_PATH];
GetCurrentDirectory(MAX_PATH, path);
CString strPath = path;
strPath += "\template";<span style="white-space:pre"> </span>//得到当前路径
m_ExlBooks.AttachDispatch(m_ExlApp.GetWorkbooks(), TRUE);
m_ExlBook.AttachDispatch(m_ExlBooks.Add((_variant_t)strPath), TRUE); //加载EXCEL模板
m_ExlSheets.AttachDispatch(m_ExlBook.GetSheets(), TRUE); //加载Sheet页面
m_ExlSheets.Add(vtMissing, vtMissing, _variant_t((long)1), vtMissing); //添加新的Sheet页面
m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)2)), TRUE); //删除第二个Sheet页面
m_ExlSheet.Delete();
m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)1)), TRUE); //把第一个Sheet页面的名字改为TestSheet
m_ExlSheet.SetName(L"TestSheet");
///合并第一行单元格A1至D1///
m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A1"), _variant_t("D1")), TRUE); //加载要合并的单元格
m_ExlRge.Merge(_variant_t((long)0));
///设置表格内容///
m_ExlRge.AttachDispatch(m_ExlSheet.GetCells(), TRUE); //加载所有单元格
m_ExlRge.SetItem(_variant_t((long)1), _variant_t((long)1), _variant_t("软件工程本科课程"));
m_ExlRge.SetItem(_variant_t((long)2), _variant_t((long)1), _variant_t("课程名"));
m_ExlRge.SetItem(_variant_t((long)2), _variant_t((long)2), _variant_t("课时"));
m_ExlRge.SetItem(_variant_t((long)2), _variant_t((long)3), _variant_t("难度"));
m_ExlRge.SetItem(_variant_t((long)2), _variant_t((long)4), _variant_t("教学方式"));
m_ExlRge.SetItem(_variant_t((long)3), _variant_t((long)1), _variant_t("c语言"));
m_ExlRge.SetItem(_variant_t((long)3), _variant_t((long)2), _variant_t("60"));
m_ExlRge.SetItem(_variant_t((long)3), _variant_t((long)3), _variant_t("普通"));
m_ExlRge.SetItem(_variant_t((long)3), _variant_t((long)4), _variant_t("老师讲课"));
m_ExlRge.SetItem(_variant_t((long)4), _variant_t((long)1), _variant_t("c语言课程设计"));
m_ExlRge.SetItem(_variant_t((long)4), _variant_t((long)2), _variant_t("10"));
m_ExlRge.SetItem(_variant_t((long)4), _variant_t((long)3), _variant_t("简单"));
m_ExlRge.SetItem(_variant_t((long)4), _variant_t((long)4), _variant_t("自学"));
m_ExlRge.SetItem(_variant_t((long)5), _variant_t((long)1), _variant_t("操作系统"));
m_ExlRge.SetItem(_variant_t((long)5), _variant_t((long)2), _variant_t("60"));
m_ExlRge.SetItem(_variant_t((long)5), _variant_t((long)3), _variant_t("很难"));
m_ExlRge.SetItem(_variant_t((long)5), _variant_t((long)4), _variant_t("老师讲课"));
m_ExlRge.AttachDispatch(m_ExlSheet.GetUsedRange()); //加载已使用的单元格
m_ExlRge.SetWrapText(_variant_t((long)1)); //设置单元格内的文本为自动换行
//设置对齐方式为水平垂直居中
//水平对齐:默认=1,居中=-4108,左=-4131,右=-4152
//垂直对齐:默认=2,居中=-4108,左=-4160,右=-4107
m_ExlRge.SetHorizontalAlignment(_variant_t((long)-4108));
m_ExlRge.SetVerticalAlignment(_variant_t((long)-4108));
|
七、保存并退出
|
<span style="white-space:pre"> </span>CFileDialog dlg(FALSE);<span style="white-space:pre"> </span>//公用对话框,FALSE表示保存,TRUE表示打开
if (dlg.DoModal() == IDOK)
{
strPath = dlg.GetPathName();
m_ExlSheet.SaveAs(strPath, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing);
//m_ExlApp.SetVisible(TRUE);
}
m_ExlBook.Close(covFalse, covOptional, covOptional);
m_ExlBooks.Close();
m_ExlApp.Quit(); //退出程序
m_ExlRge.ReleaseDispatch(); //释放对象(相当重要!)
m_ExlSheet.ReleaseDispatch();
m_ExlSheets.ReleaseDispatch();
m_ExlBook.ReleaseDispatch();
m_ExlBooks.ReleaseDispatch();
m_ExlApp.ReleaseDispatch(); //m_ExlApp一定要释放,否则程序结束后会有一个excel进程驻留在内存中,程序重复运行的时候会出错
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
在测试数据库性能时,需要注意哪些方面的内容?测试管理工具TC数据库报错的原因有哪些?怎么解决?数据库的三大范式以及五大约束编程常用的几种时间戳转换(java .net 数据库)优化mysql数据库的几个步骤数据库并行读取和写入之Python实现深入理解数据库(DB2)缓冲池(BufferPool)国内三大云数据库测试对比预警即预防:6大常见数据库安全漏洞数据库规划、设计与管理数据库-事务的概念SQL Server修改数据库物理文件存在位置使用PHP与SQL搭建可搜索的加密数据库用Python写一个NoSQL数据库详述 SQL 中的数据库操作详述 SQL 中的数据库操作Java面试准备:数据库MySQL性能优化

sales@spasvo.com