IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity 在word中插入图片 并向word表格中写入数据 -> 正文阅读

[游戏开发]Unity 在word中插入图片 并向word表格中写入数据

首先是借鉴的这位大佬的博客:C#操作Word,写数据,插入图片 - Sealee - 博客园

要将Aspose.Words.dll文件放在unity工程中的Plugins文件夹下,并在工程中引入

在word中新建书签与表格

 private string filePath;
    private string filePathColne;
    private string imagePath; //图片路径
    private Document doc;
    private DocumentBuilder builder;
    private string tempStr;
    
    void Start()
    {
        tempStr = "D:\\PrintImage/20210922151659.jpg";
        imagePath = null;
        filePath = "D:\\PrintWord/PrintWord.doc";
        filePathColne = "D:\\PrintWord/PrintWordColbe.doc";
        File.Copy(filePath, filePathColne, true);                 //必须复制一个word出来,不然会报错
        File.SetAttributes(filePathColne, FileAttributes.Normal); //设置复制出来的文件的属性 只读 还是可修改
        doc = new Document(filePathColne);
    }

    private void WriteImage(string imgPath)
    {
        builder = new DocumentBuilder(doc);
        builder.MoveToBookmark("img");       //定位img书签的位置,(大佬博客中的说法),我试着删除书签后,结果是直接在word第一行中插入图片
        FileStream fs = new FileStream(imgPath, FileMode.Open);   //读取图片,并以byte[]的方式写入
        byte[] imageByte = new byte[fs.Length];
        fs.Read(imageByte, 0, imageByte.Length);
        builder.InsertImage(imageByte, 400, 400);
        fs.Close();
        WriteExcel();//调用插入表格数据的方法
        builder = null;
        doc.Save(filePathColne);
    }

    private void WriteExcel()
    {
        NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true);  //获取所有表格
        Table table = allTables[0] as Table;                                 //获取第一个表格
        var row = table.Rows[table.Rows.Count - 1];                          //在表格的最后一行插入数据
        builder.MoveToCell(0, table.Rows.Count - 1, 0, 0);                   //移动到单元格第几行第几列
        builder.Write("菜鸡");                                               //写入数据
        builder.MoveToCell(0, table.Rows.Count - 1, 1, 0);
        builder.Write("菜鸡");
        builder.MoveToCell(0, table.Rows.Count - 1, 2, 0);
        builder.Write("菜鸡");
        builder.MoveToCell(0, table.Rows.Count - 1, 3, 0);
        builder.Write("菜鸡");
        builder.MoveToCell(0, table.Rows.Count - 1, 4, 0);
        builder.Write("菜鸡");
        builder.MoveToCell(0, table.Rows.Count - 1, 5, 0);
        builder.Write("菜鸡");
        builder.MoveToCell(0, table.Rows.Count - 1, 6, 0);
        builder.Write("菜鸡");
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.O))
        {
            WriteImage(tempStr);
        }
    }

这个是效果图

?Aspose.Words.dll文件可以在网上搜索下载

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:31:04  更:2021-09-26 10:32:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 3:35:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码