当前位置:网站首页>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
{
}
}
}
}
参考
边栏推荐
- This monitoring system can monitor the turnover intention and fishing all, and the product page has 404 after the dispute appears
- How to improve your system architecture?
- MySQL error resolution - error 1261 (01000): row 1 doesn't contain data for all columns
- A real penetration test
- Leetcode 23. 合并K个升序链表
- The IP bound to the socket is inaddr_ The meaning of any htonl (inaddr_any) (0.0.0.0 all addresses, uncertain addresses, arbitrary addresses)
- L1-023 output gplt (20 points)
- Improve the accuracy of 3D reconstruction of complex scenes | segmentation of UAV Remote Sensing Images Based on paddleseg
- 墨者学院-Webmin未经身份验证的远程代码执行
- Book list | as the technical support Party of the Winter Olympics, Alibaba cloud's technology is written in these books!
猜你喜欢

Do you know about autorl in intensive learning? A summary of articles written by more than ten scholars including Oxford University and Google

Blog stop statement

ZABBIX 5.0 monitoring client

Thesis learning -- time series similarity query method based on extreme point characteristics

A real penetration test

Project 1 household accounting software (goal + demand description + code explanation + basic fund and revenue and expenditure details record + realization of keyboard access)

zabbix监控系统邮件报警配置

Wechat has new functions, and the test is started again

Unity opens the explorer from the inspector interface, selects and records the file path

The idea of implementing charts chart view in all swiftui versions (1.0-4.0) was born
随机推荐
BUUCTF(3)
rapidjson读写json文件
L1-027 rental (20 points)
[Android reverse] function interception (use cache_flush system function to refresh CPU cache | refresh CPU cache disadvantages | recommended time for function interception)
BibTex中参考文献种类
One of the general document service practice series
促进OKR落地的工作总结该如何写?
A real penetration test
弈柯莱生物冲刺科创板:年营收3.3亿 弘晖基金与淡马锡是股东
Easy to understand: understand the time series database incluxdb
2022-021rts: from the second half of the year
L1-021 important words three times (5 points)
JVM -- class loading process and runtime data area
Go h*ck yourself:online reconnaissance (online reconnaissance)
Comparison between applet framework and platform compilation
How to improve your system architecture?
How does dataframe calculate the average value of each row as another column
[Gurobi] 简单模型的建立
PCIe knowledge points -010: where to get PCIe hot plug data
zabbix 5.0监控客户端