老哥們,最近需要通過Unity操作一下Word檔案,但是使用Com組件總是報錯,然后后來在某篇帖子中看到說Unity不支持Com組件(我沒驗證),遂想直接借用一下第三方的庫來操作。
然后經過查詢發現Docx和NPOI這兩個比較出眾,但是我在GitHub上面下載的,emmmmmmm,Docx的不太會用,代碼里全是錯誤,也找不到原因。。。NPOI匯出了Net20的版本但是實際操作中有不少的錯誤。
OfficeManager腳本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using NPOI.XWPF.UserModel;
using System.IO;
public class OfficeManager
{
#region Instance
private static OfficeManager m_instance;
public static OfficeManager Instance
{
get
{
if (m_instance == null)
{
m_instance = new OfficeManager();
}
return m_instance;
}
}
#endregion
/// <summary>
/// 創建Word檔案
/// </summary>
public void CreateWord()
{
FileStream sw = File.Create("d:\\blank.docx");
sw.Position = 0;
XWPFDocument doc = new XWPFDocument(sw); //錯誤行
doc.CreateParagraph();
}
}
Test腳本(場景中掛載):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour {
// Use this for initialization
void Start () {
OfficeManager.Instance.CreateWord();
}
// Update is called once per frame
void Update () {
}
}
Error:
ZipException: EOF in header
ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadLeByte ()
ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadLeShort ()
ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputBuffer.ReadLeInt ()
ICSharpCode.SharpZipLib.Zip.ZipInputStream.GetNextEntry ()
(wrapper remoting-invoke-with-check) ICSharpCode.SharpZipLib.Zip.ZipInputStream:GetNextEntry ()
NPOI.OpenXml4Net.Util.ZipInputStreamZipEntrySource..ctor (ICSharpCode.SharpZipLib.Zip.ZipInputStream inp)
NPOI.OpenXml4Net.OPC.ZipPackage..ctor (System.IO.Stream filestream, PackageAccess access)
NPOI.OpenXml4Net.OPC.OPCPackage.Open (System.IO.Stream in1)
NPOI.Util.PackageHelper.Open (System.IO.Stream is1)
NPOI.XWPF.UserModel.XWPFDocument..ctor (System.IO.Stream is1)
OfficeManager.CreateWord () (at Assets/Scripts/Manager/OfficeManager.cs:31)
Test.Start () (at Assets/Test.cs:9)
uj5u.com熱心網友回復:
頂一下。。。uj5u.com熱心網友回復:
找ICSharpCode.SharpZipLib這個庫看看這個庫的版本和你的對應不
uj5u.com熱心網友回復:
把.net框架換成框架換成4以上,https://download.csdn.net/download/qq_41001564/10754674里的檔案放到Plugins里轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/47439.html
標籤:Unity3D
上一篇:Unity結合Kinect
