当前位置:网站首页>Unity-写入Word
Unity-写入Word
2022-07-04 07:43:00 【小太阳每天都要很努力】
代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using NPOI.XWPF.UserModel;
using ICSharpCode.SharpZipLib.Zip;
using NPOI.OpenXmlFormats.Wordprocessing;
public class wordRead : MonoBehaviour
{
private void Start()
{
//打开一个文件,如果没有则创建,并设置访问权限
XWPFDocument doc = new XWPFDocument();
FileStream file = new FileStream("D://liuyu.docx", FileMode.OpenOrCreate, FileAccess.ReadWrite);
Debug.Log(file.CanWrite);//查看是否支持写入
//创建段落,设置段落对齐方式
XWPFParagraph p2 = doc.CreateParagraph();
XWPFParagraph p3 = doc.CreateParagraph();
p2.Alignment = ParagraphAlignment.CENTER;
//插入一行
XWPFRun r2 = p2.CreateRun();
SetFont(r2, "000000", "shiyanbaogao", "宋体", 16, false, true);
//插入一张照片
p3.Alignment = ParagraphAlignment.CENTER;
XWPFRun r6 = p3.CreateRun();
SetTu(r6, 200, 200, "qq");//插入一张图片
XWPFTable table = doc.CreateTable(1, 4);//创建1*4的表
table.SetColumnWidth(0, 6*256);
table.SetColumnWidth(1, 10*256);
table.SetColumnWidth(2, 6*256);
table.SetColumnWidth(3, 10*256);
table.GetRow(0).GetCell(0).SetText("11111");
table.GetRow(0).GetCell(0).SetColor("00FFFF");
table.GetRow(0).GetCell(1).SetText("11111");
table.GetRow(0).GetCell(2).SetText("11111");
table.GetRow(0).GetCell(3).SetText("11111");
table.GetRow(0).GetCell(3).SetColor("00FFFF");
doc.Write(file);
file.Close();
System.Diagnostics.Process.Start("D://liuyu.docx");
}
/// <summary>
/// 对文字进行操作
/// </summary>
/// <param name="aRun">段落对象</param>
/// <param name="color">颜色</param>
/// <param name="neirong">文字内容</param>
/// <param name="ziti">字体</param>
/// <param name="size">字号</param>
/// <param name="isb">是否加粗</param>
/// <param name="isxie">是否斜体</param>
public static void SetFont(XWPFRun aRun,string color,string neirong,string ziti,int size,bool isb,bool isxie)
{
aRun.IsBold = isb;
aRun.FontFamily = ziti;
aRun.FontSize = size;
aRun.SetText(neirong);
aRun.SetColor(color);
aRun.IsItalic = isxie;
}
/// <summary>
/// 加载图片并设计
/// </summary>
/// <param name="r2">段落对象</param>
/// <param name="sizeX">X的值</param>
/// <param name="sizeY">Y的值</param>
/// <param name="TuName">图片名称</param>
public static void SetTu(XWPFRun r2,float sizeX,float sizeY,string TuName)
{
//插入图片
var widthEmus = (int)(sizeX*9525);
var heightEmus = (int)(sizeY * 9525);
try
{
//using(FileStream picData=new FileStream("D://user/" + TuName + ".png", FileMode.Open, FileAccess.Read))
using (FileStream picData = new FileStream("E://UnityProgramme/word/" + TuName + ".png", FileMode.Open, FileAccess.Read))
{
r2.AddPicture(picData, (int)PictureType.PNG ,TuName+".png", widthEmus, heightEmus);
Debug.Log("png");
}
}
catch
{
try
{
// using (FileStream picData = new FileStream("D://user/" + TuName + ".jpg", FileMode.Open, FileAccess.Read))
using (FileStream picData = new FileStream("E://UnityProgramme/word/" + TuName + ".jpeg", FileMode.Open, FileAccess.Read))
{
r2.AddPicture(picData, (int)PictureType.JPEG, TuName + ".jpeg", widthEmus, heightEmus);
Debug.Log("jpeg");//两种都可以
}
Debug.Log("PNG没找到JPG"+TuName);
}
catch
{
}
}
}
}
参考
边栏推荐
- How to reset IntelliSense in vs Code- How to reset intellisense in VS Code?
- Système de surveillance zabbix contenu de surveillance personnalisé
- JVM中堆概念
- 墨者学院-PHPMailer远程命令执行漏洞溯源
- L1-022 odd even split (10 points)
- 2022 - 021arts: début du deuxième semestre
- [Flink] temporal semantics and watermark
- Mysql database - function constraint multi table query transaction
- With excellent strength, wangchain technology, together with IBM and Huawei, has entered the annual contribution list of "super ledger"!
- System architecture design of circle of friends
猜你喜欢
zabbix 5.0监控客户端
Easy to understand: understand the time series database incluxdb
Experience installing VMware esxi 6.7 under VMware Workstation 16
Thesis learning -- time series similarity query method based on extreme point characteristics
MySQL中的文本处理函数整理,收藏速查
This monitoring system can monitor the turnover intention and fishing all, and the product page has 404 after the dispute appears
ZABBIX monitoring system custom monitoring content
What are the work contents of operation and maintenance engineers? Can you list it in detail?
Distributed transaction management DTM: the little helper behind "buy buy buy"
【Go基础】2 - Go基本语句
随机推荐
[real case] how to deal with the failure of message consumption?
MySQL 数据库 - 函数 约束 多表查询 事务
Oracle stored procedures and functions
L1-025 positive integer a+b (15 points)
SQL foundation 9 [grouping data]
BUUCTF(4)
Jianmu continuous integration platform v2.2.2 release
How to use MOS tube to realize the anti reverse connection circuit of power supply
MySQL中的文本處理函數整理,收藏速查
[Android reverse] function interception (use cache_flush system function to refresh CPU cache | refresh CPU cache disadvantages | recommended time for function interception)
[network security] what is emergency response? What indicators should you pay attention to in emergency response?
Amd RX 7000 Series graphics card product line exposure: two generations of core and process mix and match
Routing decorator of tornado project
Would you like to go? Go! Don't hesitate if you like it
2022 - 021arts: début du deuxième semestre
Book list | as the technical support Party of the Winter Olympics, Alibaba cloud's technology is written in these books!
When JDBC connects to es query, is there a God who meets the following situation?
Practice (9-12 Lectures)
Tri des fonctions de traitement de texte dans MySQL, recherche rapide préférée
L2-013 red alarm (C language) and relevant knowledge of parallel search