博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在 C++ 程序中导出 Word 文档的简易方法
阅读量:4298 次
发布时间:2019-05-27

本文共 1718 字,大约阅读时间需要 5 分钟。

来源:

在 C++ 程序中导出 Word 文档的简易方法


如果您要在应用程序中处理Word文档,可以参考

MSDN. Lori Turner. Automating Microsoft Office 97 and Office 2000

该文内容详细全面,但是要在C++程序中导出Word文档,按照文中的方法来处理是很麻烦的,特别是

需要填写的参数太多,所以我们考虑生成正确的VB脚本,然后执行生成Word文档的操作,这个方法的优点在于:一

方面可以少填写参数;另一方面可以使用在Word中录制的宏脚本,而只需作少量的修改。我们给出了一些简单的函

数来方便生成Word文档(主要是简单的表格)和直接运行内存中的VB脚本,此外,还附带了一个小小的例子。


  1. //创建Word文档
  2. std::string create_new();
  3. //保存Word文档
  4. std::string close_save(const char* filename);
  5. //selection 往下移,以继续生成下一元素
  6. std::string move_down();
  7. //插入分段符
  8. std::string put_Paragraph();
  9. //添加标题
  10. std::string put_title(const char* title, const char* title_type="标题 1", int align=ALIGN_LEFT);
  11. //添加“标题1”
  12. std::string put_title1(const char* title, int align=ALIGN_CENTER);
  13. //添加“标题2”
  14. std::string put_title2(const char* title, int align=ALIGN_LEFT);
  15. //添加“标题3”
  16. std::string put_title3(const char* title, int align=ALIGN_LEFT);
  17. //添加红色警告信息
  18. std::string add_warning_msg(const char* msg="无数据");
  19. //添加表格的一行数据(不用此函数)
  20. std::string add_grid_ln(const char* line);
  21. //添加表格
  22. std::string put_grid(const char* content);

  23. //运行脚本
  24. extern "C" void RunScript(const char* script_str);      
复制代码


下面是一个小例子,我们期望它在您的计算机上能够很好的运行,程序将生成一个Word文档,路径位于c:\test.doc,计算机上需要安装Word XP。

  1. int main(int argc, char* argv[])
  2. {

  3.     ostringstream ostr;
  4.     ostr<<create_new();

  5.     ostr<<put_title1("统计结果");
  6.     ostr<<put_title2("统计子项详细信息");

  7.     std::string str_buffer;
  8.     read_file_as_grid_content("tab.txt", str_buffer);

  9.     ostr<<put_Paragraph();
  10.     ostr<<put_grid(str_buffer.c_str());
  11.     ostr<<close_save("c:\\test.doc");

  12.     //输出到文件看看VB脚本的内容
  13.        /*
  14.     std::ofstream ofile;
  15.     ofile.open("c:\\temp.vbs");
  16.     ofile<<ostr.str().c_str();
  17.     ofile.close();
  18.     */
  19.        //BeginWaitCursor();
  20.        RunScript( ostr.str().c_str() );//运行生成的脚本
  21.        //EndWaitCursor();
  22.        return 0;
  23. }
复制代码

代码地址:http://download.csdn.net/detail/u011430225/8973293

转载地址:http://blnws.baihongyu.com/

你可能感兴趣的文章
django filter 中使用 or (django中Q)
查看>>
python strip()函数 介绍
查看>>
django http请求request详解
查看>>
Sessions, Users和 Registration
查看>>
mac 定时任务
查看>>
登录式shell的执行顺序及简单应用
查看>>
屏蔽搜索引擎蜘蛛的代码
查看>>
查阅日志小技巧
查看>>
mac iterm2有什么酷功能?
查看>>
django 改写models 的save操作。
查看>>
用redis的sadd和spop做后台抽奖
查看>>
redis学习笔记之数据类型
查看>>
简谈微服务
查看>>
CAP定理
查看>>
Centos7 初试docker
查看>>
Dockerfile
查看>>
分析html利器--Beautiful Soup
查看>>
python 有序字典OrderedDict
查看>>
redis 执行filter 过滤
查看>>
centos7 安装 mariadb(mysql的一个分支) 的正确命令
查看>>