鱼C论坛

 找回密码
 立即注册
查看: 3200|回复: 16

[已解决]C++操作docx文档----高价求助

[复制链接]
发表于 2022-5-28 13:35:49 | 显示全部楼层 |阅读模式
20鱼币
有没有什么简单点的方法可以简单操作一下docx文档啊,就像操作txt文档那样,把数据输入就好。
求求各位大佬帮帮。
最佳答案
2022-5-28 13:35:50
  1. #include <windows.h>
  2. #include <combaseapi.h>
  3. #include <iostream>

  4. #import "C:\\Program Files\\Microsoft Office\\root\\Office16\\MSWORD.OLB" auto_search, auto_rename

  5. Word::WdColor rgb(unsigned char r, unsigned char g, unsigned char b) {
  6.     return (Word::WdColor)((b << 16) | (g << 8) | r);
  7. }

  8. int main() {
  9.     CoInitialize(NULL);
  10.     Word::_ApplicationPtr Application(__uuidof(Word::Application));
  11.     Application->Visible = true;
  12.     Word::DocumentsPtr docs = Application->Documents;
  13.     Word::_DocumentPtr doc = docs->Add();
  14.     Word::RangePtr range = doc->Content;

  15.     range->Text = "hello world!";

  16.     Word::_FontPtr font(__uuidof(Word::Font));
  17.     font->Color = Word::wdColorRose;
  18.     font->Name = "Courier New";
  19.     font->Bold = true;
  20.     font->Size = 24;
  21.     range->Font = font;

  22.     range->Paragraphs->Alignment = Word::wdAlignParagraphCenter;


  23. #if 0
  24.     range->Font->Color = rgb(255, 0, 0);
  25.     range->Font->Color = rgb(0, 255, 0);
  26.     range->Font->Color = rgb(0, 0, 255);
  27.    
  28.     range->Font->Color = rgb(255, 192, 203);
  29.     range->Font->Color = rgb(218, 112, 214);
  30.     range->Font->Color = rgb(123, 104, 238);
  31. #endif

  32.     std::cin.get();
  33.     Application->Quit(&variant_t(Word::wdDoNotSaveChanges));
  34.     CoUninitialize();
  35.     return 0;
  36. }
复制代码


1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-28 13:35:50 | 显示全部楼层    本楼为最佳答案   
  1. #include <windows.h>
  2. #include <combaseapi.h>
  3. #include <iostream>

  4. #import "C:\\Program Files\\Microsoft Office\\root\\Office16\\MSWORD.OLB" auto_search, auto_rename

  5. Word::WdColor rgb(unsigned char r, unsigned char g, unsigned char b) {
  6.     return (Word::WdColor)((b << 16) | (g << 8) | r);
  7. }

  8. int main() {
  9.     CoInitialize(NULL);
  10.     Word::_ApplicationPtr Application(__uuidof(Word::Application));
  11.     Application->Visible = true;
  12.     Word::DocumentsPtr docs = Application->Documents;
  13.     Word::_DocumentPtr doc = docs->Add();
  14.     Word::RangePtr range = doc->Content;

  15.     range->Text = "hello world!";

  16.     Word::_FontPtr font(__uuidof(Word::Font));
  17.     font->Color = Word::wdColorRose;
  18.     font->Name = "Courier New";
  19.     font->Bold = true;
  20.     font->Size = 24;
  21.     range->Font = font;

  22.     range->Paragraphs->Alignment = Word::wdAlignParagraphCenter;


  23. #if 0
  24.     range->Font->Color = rgb(255, 0, 0);
  25.     range->Font->Color = rgb(0, 255, 0);
  26.     range->Font->Color = rgb(0, 0, 255);
  27.    
  28.     range->Font->Color = rgb(255, 192, 203);
  29.     range->Font->Color = rgb(218, 112, 214);
  30.     range->Font->Color = rgb(123, 104, 238);
  31. #endif

  32.     std::cin.get();
  33.     Application->Quit(&variant_t(Word::wdDoNotSaveChanges));
  34.     CoUninitialize();
  35.     return 0;
  36. }
复制代码


1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-29 08:02:15 From FishC Mobile | 显示全部楼层
c操作这玩意还是比较弱的,还是寻求高能脚本诸如python一类
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-2 11:42:37 | 显示全部楼层
c++吗?
推荐一个第三方的lib库吧,操作docx:https://github.com/DocxFactory/DocxFactory
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-6 22:16:31 | 显示全部楼层
离谱
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-8 16:36:49 | 显示全部楼层
插眼,我也挺想知道的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-8 16:54:53 | 显示全部楼层

大佬可以请您详细讲一下吗?
#include <windows.h>
#include <combaseapi.h>
这两个头文件没用过
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-9 00:55:51 | 显示全部楼层
烂泥化刚 发表于 2022-6-8 16:54
大佬可以请您详细讲一下吗?
#include
#include

先学这个
https://fishc.com.cn/forum-255-1.html
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-9 02:41:28 | 显示全部楼层
人造人 发表于 2022-6-9 00:55
先学这个
https://fishc.com.cn/forum-255-1.html

请问是windows编程吗
前一秒
刚刚开始看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-9 02:43:37 | 显示全部楼层
人造人 发表于 2022-6-9 00:55
先学这个
https://fishc.com.cn/forum-255-1.html

然后想请问您
<combaseapi.h>
这个库是作甚么的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-9 19:56:08 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-6-9 22:04:25 | 显示全部楼层
理想小青年 发表于 2022-6-2 11:42
c++吗?
推荐一个第三方的lib库吧,操作docx:https://github.com/DocxFactory/DocxFactory

有没有啥操作手册之类的啊,求求
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-6-9 22:08:57 | 显示全部楼层

这个应该是靠电脑安装了office提供了相应的函数接口,有没有可以移植的方法啊,最后生成的exe能移植到其他电脑上运行的那种
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-14 22:18:08 | 显示全部楼层
贾政景 发表于 2022-6-9 22:08
这个应该是靠电脑安装了office提供了相应的函数接口,有没有可以移植的方法啊,最后生成的exe能移植到其 ...

我没有找到这样的方法
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-6-30 14:09:17 | 显示全部楼层

用python还是其他什么的滚开这个帖子,老子问的C++

评分

参与人数 1鱼币 -10 收起 理由
不二如是 -10 请维护论坛环境哦~

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-7-4 07:00:48 | 显示全部楼层
烂泥化刚 发表于 2022-6-8 16:54
大佬可以请您详细讲一下吗?
#include
#include

windows.h是用来与windows系统交互
system函数是最常用的
可以涵盖大部分dos指令
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-7-4 07:02:12 | 显示全部楼层
贾政景 发表于 2022-6-9 22:08
这个应该是靠电脑安装了office提供了相应的函数接口,有没有可以移植的方法啊,最后生成的exe能移植到其 ...

那要看 那台电脑有没有和编写程序的电脑 版本相同的office吧
因为有些东西不是自己写的,所以局限性也挺大的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 01:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表