当前位置:网站首页>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
{
}
}
}
}
参考
边栏推荐
- [web security] nodejs prototype chain pollution analysis
- Oceanbase is the leader in the magic quadrant of China's database in 2021
- Comparison between applet framework and platform compilation
- Activiti常見操作數據錶關系
- [untitled] notice on holding "2022 traditional fermented food and modern brewing technology"
- L1-025 positive integer a+b (15 points)
- BUUCTF(3)
- Blue Bridge Cup Quick sort (code completion)
- Life planning (flag)
- How does dataframe calculate the average value of each row as another column
猜你喜欢

Oceanbase is the leader in the magic quadrant of China's database in 2021
![[web security] nodejs prototype chain pollution analysis](/img/b6/8eddc9cbe343f2439da92bf342b0dc.jpg)
[web security] nodejs prototype chain pollution analysis

JVM -- class loading process and runtime data area

What are the work contents of operation and maintenance engineers? Can you list it in detail?

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

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

Practice (9-12 Lectures)

socket inet_ pton() inet_ Ntop() function (a new network address translation function, which converts the expression format and numerical format to each other. The old ones are inet_aton(), INET_ ntoa

Handwritten easy version flexible JS and source code analysis

Go h*ck yourself:online reconnaissance (online reconnaissance)
随机推荐
21 examples of strategic goals to promote the rapid development of your company
BibTex中参考文献种类
Advanced MySQL: Basics (5-8 Lectures)
【性能测试】一文读懂Jmeter
Valentine's Day is coming! Without 50W bride price, my girlfriend was forcibly dragged away...
Write a thread pool by hand, and take you to learn the implementation principle of ThreadPoolExecutor thread pool
[Flink] temporal semantics and watermark
The idea of implementing charts chart view in all swiftui versions (1.0-4.0) was born
It's healthy to drink medicinal wine like this. Are you drinking it right
Introduction to neural network (Part 2)
Activiti common operation data table relationship
Wechat has new functions, and the test is started again
谷歌官方回应:我们没有放弃TensorFlow,未来与JAX并肩发展
Implementation of ZABBIX agent active mode
A real penetration test
在所有SwiftUI版本(1.0-4.0)中原生实现Charts图表视图之思路
Flask 常用组件
I was pressed for the draft, so let's talk about how long links can be as efficient as short links in the development of mobile terminals
Mysql database - function constraint multi table query transaction
Improve the accuracy of 3D reconstruction of complex scenes | segmentation of UAV Remote Sensing Images Based on paddleseg