赞
踩
public class ExcelParse : MonoBehaviour { public Dictionary<string, DataTable> GetExcelData(string filePath) { Dictionary<string, DataTable> worksheets = new Dictionary<string, DataTable>(); FileInfo fileInfo = new FileInfo(filePath); using (ExcelPackage package = new ExcelPackage(fileInfo)) { ExcelWorkbook workbook = package.Workbook; if (workbook != null) { foreach (ExcelWorksheet worksheet in workbook.Worksheets) { // 创建一个新的DataTable对象 DataTable dataTable = ExcelFileRead(worksheet,false); // 将 DataTable 存储到 Dictionary 中 worksheets.Add(worksheet.Name, dataTable); } } } return worksheets; } /// <summary> /// /// </summary> /// <param name="workBook"></param> /// <param name="index"></param> /// <param name="sheetName"></param> /// <param name="isHadColumnName">是否包含列名,默认有</param> /// <returns></returns> private DataTable ExcelFileRead(ExcelWorksheet sheet,bool isHadColumnName = true) { DataTable dt = new DataTable(); int cellCount = sheet.Dimension.End.Column; //总列数 int rowCount = sheet.Dimension.End.Row; //总行数 if (sheet != null && (rowCount + 1) != 0) { int firstRow = sheet.Dimension.Start.Row; int firsColumn=sheet.Dimension.Start.Column; if (isHadColumnName) { for (int i =firsColumn; i < cellCount; i++) { string columnName = Convert.ToString(sheet.Cells[firstRow, i].Value); dt.Columns.Add(columnName); } firstRow = 2; } else { for (int i = 0; i < cellCount; i++) { DataColumn dataColumn = new DataColumn("Column" + i); dt.Columns.Add(dataColumn); } } for (int i = firstRow; i < rowCount+1; i++) { DataRow dataRow = dt.NewRow(); for (int j = firsColumn; j < cellCount+1; j++) { if (sheet.Cells[i, j].Value != null) { dataRow[j-1] = sheet.Cells[i, j].Value.ToString(); //UnityEngine.Debug.Log(dataRow[j - 1]); } else { dataRow[j-1] = ""; } } dt.Rows.Add(dataRow); } } return dt; }
经过测试只能在编辑器和打包exe能解析成功,打包到安卓apk就无法解析
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。