Unity创建和修改本地Word文档 | 您所在的位置:网站首页 › word文档如何新建表格内容显示不出来 › Unity创建和修改本地Word文档 |
之前做项目基本都是在本地读读数据,最多搞个截图就行了,最近客户突然提出要将实验报告(UGUI,包括图片、按钮、输入框、文字等),这就有点懵,好在经过一段时间的研究,可以在Unity内通过NPOI类库(没听说的可以找度娘问一下)创建和修改Word文档,OK,进入正题吧! 一、导入NPOI类库文件我直接把所需要的dll文件全都打包出来了,在官网下的比较麻烦,不怕麻烦的童靴可以自己去官网逛一下学习学习,以下附上链接,可直接在百度网盘下载(提取码:kkkk)。 https://pan.baidu.com/s/1fE9hmm62ms_KgPj5HffEVA 别忘了类库文件一定要放在Plugins文件夹里面才能在C#中引用哦,在引用后发现报错,这里需要把Unity的Scripting Runtime Version改成 .NET 4.6 的(我是用Unity 2017.2.0 测试的) 先来引用以下吧 using System.Collections; using System.Collections.Generic; using UnityEngine; using NPOI.XWPF.UserModel; using System.IO; using System;定义好文件路径、文件名称,在这里我用一个Path准备缝合路径 /// /// 文件路径 /// private const string filePath = @"C:/Users/Administrator/Desktop"; /// /// 文件名称 /// private string fileName = "david.docx"; private string path; /// /// word文档 /// private XWPFDocument doc = new XWPFDocument(); private void Start() { //缝合路径 path = Path.Combine(filePath, fileName); }开始写入文档并保存在本地,这里涉及到字体大小、字体颜色、段落内容。 /// /// 创建段落 /// /// 对齐方式 /// 字体大小 /// 字体颜色(16进制) /// 内容 private void CreateParagraph(ParagraphAlignment _alignment, int _fontSize, string _color, string _content) { XWPFParagraph paragraph = doc.CreateParagraph(); paragraph.Alignment = _alignment; XWPFRun run = paragraph.CreateRun(); run.FontSize = _fontSize; run.SetColor(_color); run.FontFamily = "宋体"; run.SetText(_content); FileStream fs = new FileStream(path, FileMode.Create); doc.Write(fs); fs.Close(); fs.Dispose(); Debug.Log("写入成功"); }OK,现在回到Unity后把该脚本随便挂到一个游戏物体身上,引用这个方法,运行游戏会发现在指定路径下创建了一个Word文档(并且有我们写入的内容哦)。 个人感觉创建文件并没有什么卵用,举个例子,咱们做一个带有考核的项目,最终的实验报告文字和图片基本上都是固定的,需要改动的只有姓名、学号、成绩等等字段对不对,那么问题来了,如果所有的内容都是通过API手动创建的话(能够想到有多麻烦,文字居中、标题大小、创建表格等等等。。。)。因此修改文档内容才是最高效和简便的方法,直接进入主题。 首先,当然先搞一个Word文档了,PS:这里的路径一定要和Unity里面的路径保持一致。 通过指定路径读取Word文档,然后遍历每个段落,可以看到,通过API可以获取文档内是否有我们自定义的字段,找到了可以直接替换成我们需要改成的内容,最后在进行输出,文件就得到更新了,是不是很简单。 |
CopyRight 2018-2019 实验室设备网 版权所有 |