当前位置:网站首页>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
{
}
}
}
}
参考
边栏推荐
- A real penetration test
- Zabbix agent主动模式的实现
- The cloud native programming challenge ended, and Alibaba cloud launched the first white paper on application liveliness technology in the field of cloud native
- 时序数据库 InfluxDB 2.2 初探
- Blog stop statement
- Activiti常見操作數據錶關系
- User login function: simple but difficult
- L1-023 output gplt (20 points)
- 【Go基础】2 - Go基本语句
- Flask 常用组件
猜你喜欢
![[C language] open the door of C](/img/e0/2f107966423d6492c39995c77a445e.jpg)
[C language] open the door of C

ZABBIX 5.0 monitoring client

University stage summary

Improve the accuracy of 3D reconstruction of complex scenes | segmentation of UAV Remote Sensing Images Based on paddleseg

Zephyr 学习笔记1,threads

【性能测试】一文读懂Jmeter

This monitoring system can monitor the turnover intention and fishing all, and the product page has 404 after the dispute appears

弈柯莱生物冲刺科创板:年营收3.3亿 弘晖基金与淡马锡是股东

zabbix監控系統自定義監控內容
![SQL foundation 9 [grouping data]](/img/8a/a72941d8c3413316b063033a1b5038.jpg)
SQL foundation 9 [grouping data]
随机推荐
Rapidjson reading and writing JSON files
Activiti常見操作數據錶關系
大学阶段总结
Oracle-存储过程与函数
[C language] open the door of C
人生规划(Flag)
JVM -- class loading process and runtime data area
Oceanbase is the leader in the magic quadrant of China's database in 2021
博客停更声明
L1-022 odd even split (10 points)
L1-030 one gang one (15 points)
节点基础~节点操作
L1-024 the day after tomorrow (5 points)
Routing decorator of tornado project
[gurobi] establishment of simple model
Zabbix agent主动模式的实现
Xcode 14之大变化详细介绍
BUUCTF(3)
猜数字游戏
[freertos] freertos Learning notes (7) - written freertos bidirectionnel Link LIST / source analysis