跨平台Unity Excel 檔案讀取和寫入

2021-07-24 08:39:40 字數 1888 閱讀 7853

在網上看到很多 的解析excel 的文章,其中最經典的一篇莫過於雨凇momo的unity3d研究院之mac&windows跨平台解析excel(六十五)

但是在使用的過程中還是碰到了不少的

問題,在這裡總結一下,希望能對看到此處的朋友乙個幫助。

excel的讀取,

需要加入庫檔案 excel.dll 和icsharpcode.sharpziplib庫文

[csharp] view plain copy 在code上檢視**片派生到我的**片

using excel;

using system.data;

excel檔案讀取和轉換list格式

[csharp] view plain copy 在code上檢視**片派生到我的**片

public class excelaccess

;public static listselectmenutable(int tableid)

return menuarray;

}///

/// 讀取 excel 需要新增 excel; system.data;

///

///

///

static datarowcollection readexcel(string sheet)

}這裡邏輯很簡單,如果有不懂得可以上excel的文件裡去看,但是這個excel的庫有乙個限制,就是只能讀不能寫,並且只能在編輯器下用,如果打包出來載入時會報空指標異常,原因就不清楚了,所以建議大家,讓策劃把excel寫好後,在編輯器下讀取後用unity 的scriptableobject 存起來,然後儲存成asset檔案,可以在執行時更方便的讀取。

下面給出我的實現方式,大家可以根據自己實體類來寫這個strignholder;

stringholder類

[csharp] view plain copy 在code上檢視**片派生到我的**片

using unityengine;

using system.collections.generic;

public class bookelementholder : scriptableobject

製作asset編輯器(可以把asset達成assetbundle的包,然後用www讀取)

[csharp] view plain copy 在code上檢視**片派生到我的**片

[menuitem("assetbundles/create assetbundles")]

public static void excutebuild()

asset讀取方式

[csharp] view plain copy 在code上檢視**片派生到我的**片

public string assetname = "bonenames";

public void readasset()

}好了,excel的讀取就到這裡,接下來講一下excel 的寫入,怎麼生成乙個excel檔案,並把陣列或字典中的資料寫入excel中呢?

此時需要乙個excel.dll的姐妹,epplus.dll 官方鏈結

使用方法在官方的文件中都有,這裡只貼出我的實現方式。

需要新增的命名空間

[csharp] view plain copy

using officeopenxml;

寫入方法

[csharp] view plain copy 在code上檢視**片派生到我的**片

public static void writeexcel(string outputdir)

using (excelpackage package = new excelpackage(newfile))

}把上面的資料換成你自己的陣列和字典遍歷就ok 了。好了,今天的課程就到這裡,歡迎大神指教啊

跨平台檔案傳輸工具

最近用到freebsd10.2,然而倒騰圖形介面始終沒有成功,各種 無法拷貝到bsd上去,不可能用vi或者ee重複再敲一遍。vmtools似乎也沒法安裝,於是就用ee敲了個最簡單的bsd上的服務端,接收檔案並儲存到本地。精簡版 如下 include include include include i...

C C 跨平台INI檔案讀寫API

已測試通過的開發環境 winxp vista vc6.0 vs2003 vs2005 vs2008 fc6.0 fc7.0 ubuntu7.10 gcc4.1 arm linux arm linux gcc3.3.2 專案特點 1.使用標準c庫函式,支援windows linux unix等多平台。...

構造跨平台的Ini檔案類

ini檔案在儲存軟體的配置資訊方面有著良好的作用,為了適應跨平台的功能,我們必須放棄微軟的相關api,自己實現乙個ini的檔案讀寫操作類。下面我給出該類的具體實現。我的email是 wxy3064one 163.com 一 標頭檔案 h ini檔案 以 表示注釋行 class cinifile 二 ...