原博客地址:unity3d:windows读写excel,打包exe可用_unity安装excel包-CSDN博客文章浏览阅读2.9k次,点赞2次,收藏15次。首先要注意的点: 1.你的unity版本是多少,去对应的安装目录中取dll 2.System.Data.dll 在D:\Program Files\Unity2017.2\Editor\Data\Mono\lib\mono\2.0 3.I18N开头的dll 在 D:\Program Files\Unity2017.2\Editor\Data\Mono\lib\mono\unity 4...._unity安装excel包
https://blog.csdn.net/luoyikun/article/details/81012065
需要加入库文件 Excel.dll 和ICSharpCode.SharpZipLib库文件,官方链接 http://exceldatareader.codeplex.com/
读取Excel
需要添加命名空间 using Excel;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Data;
using System.IO;
using Excel;
public class DoExcel
{
public static DataSet ReadExcel(string path)
{
FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read);
Debug.LogError("stream " + stream);
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); //读取2007以后版本
//IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream); //读取2003以后版本
DataSet result = excelReader.AsDataSet();
Debug.LogError("result " + result);
excelReader.Close();
int columns = result.Tables[0].Columns.Count;
int rows = result.Tables[0].Rows.Count;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
string nvalue = result.Tables[0].Rows[i][j].ToString();
Debug.Log(nvalue);
}
}
return result;
}
public static List<DepenceTableData> Load(string path)
{
Debug.LogError(path);
List<DepenceTableData> _data = new List<DepenceTableData>();
DataSet resultds = ReadExcel(path);
int column = resultds.Tables[0].Columns.Count;
int row = resultds.Tables[0].Rows.Count;
Debug.LogWarning(column + " " + row);
for (int i = 1; i < row; i++)
{
DepenceTableData temp_data;
temp_data.instruct = resultds.Tables[0].Rows[i][0].ToString();
temp_data.word = resultds.Tables[0].Rows[i][1].ToString();
Debug.Log(temp_data.instruct + " " + temp_data.word);
_data.Add(temp_data);
}
return _data;
}
}
public struct DepenceTableData
{
public string word;
public string instruct;
}
写入Excel
此时需要一个Excel.dll的姐妹,EPPlus.dll 官方链接 https://epplus.codeplex.com/releases/view/118053
需要添加命名空间 using OfficeOpenXml;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using OfficeOpenXml;
using System.IO;
public class PrintExcel : MonoBehaviour {
public List<DepenceTableData> listdata;
void Start () {
//读
Text T = GameObject.Find("Canvas/Text").GetComponent<Text>();
T.text = "";//清空一开始的文本
listdata = DoExcel.Load(Application.streamingAssetsPath + "/Test2003.xls");
Debug.LogError("listdata"+listdata);
foreach (var listing in listdata)
{
Debug.LogError("listing.instruct" + listing.instruct);
Debug.LogError("listing.word" + listing.word);
//print(listing.instruct + " " + listing.word);
T.text += (listing.instruct + " " + listing.word + "\n").ToString();
}
//写
WriteExcel(Application.streamingAssetsPath + "/Test2007.xlsx");
}
public static void WriteExcel(string outputDir)
{
//string outputDir = EditorUtility.SaveFilePanel("Save Excel", "", "New Resource", "xlsx");
FileInfo newFile = new FileInfo(outputDir);
if (newFile.Exists)
{
newFile.Delete(); // ensures we create a new workbook
newFile = new FileInfo(outputDir);
}
using (ExcelPackage package = new ExcelPackage(newFile))
{
// add a new worksheet to the empty workbook
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
//Add the headers
worksheet.Cells[1, 1].Value = "ID";
worksheet.Cells[1, 2].Value = "Product";
worksheet.Cells[1, 3].Value = "Quantity";
worksheet.Cells[1, 4].Value = "Price";
worksheet.Cells[1, 5].Value = "Value";
//Add some items...
worksheet.Cells["A2"].Value = 12001;
worksheet.Cells["B2"].Value = "Nails";
worksheet.Cells["C2"].Value = 37;
worksheet.Cells["D2"].Value = 3.99;
worksheet.Cells["A3"].Value = 12002;
worksheet.Cells["B3"].Value = "Hammer";
worksheet.Cells["C3"].Value = 5;
worksheet.Cells["D3"].Value = 12.10;
worksheet.Cells["A4"].Value = 12003;
worksheet.Cells["B4"].Value = "Saw";
worksheet.Cells["C4"].Value = 12;
worksheet.Cells["D4"].Value = 15.37;
//save our new workbook and we are done!
package.Save();
}
}
}
网上下载对应(Excel.dll 和ICSharpCode.SharpZipLib)Dll文件
CSDN资源地址:https://download.csdn.net/download/u3dcoder/10690538?spm=1001.2014.3001.5503