在網上看到很多 的解析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 二 ...