#if UNITY_EDITOR using UnityEngine; using System.Collections; using System.Collections.Generic; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.HSSF.Util; using System.IO; using ArabicSupport; public class MyExcel : MonoBehaviour { private string MySheetName = "Sheet_Test"; public List MyCellArray; public List MyCellArray02; public List MyString; private bool ReadExcelEnable_NPOI = false; private bool ReadExcelEnable_ExcelDataReader = false; void OnGUI() { GUIStyle style = new GUIStyle(); GUI.Label(new Rect(10, 10, 100, 30), "Sheet Name:"); MySheetName = GUI.TextField(new Rect(90, 10, 200, 30), MySheetName, 25); style.richText = true; FileStream MyAddress = new FileStream(Application.dataPath + "/My First Excel.xls", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite); if (GUI.Button(new Rect(300, 10, 200, 30), "Create Excel Files With " + "NPOI")) { HSSFWorkbook MyWorkbook = new HSSFWorkbook(); HSSFSheet Sheet01 = (HSSFSheet)MyWorkbook.CreateSheet(MySheetName); for (int i = 0; i < 5; i++) { HSSFRow Row = (HSSFRow)Sheet01.CreateRow((short)i); HSSFCell cell = (HSSFCell)Row.CreateCell((short)0); cell.SetCellValue(MyCellArray[i]); if (i < MyCellArray02.Count) { HSSFCell cell02 = (HSSFCell)Row.CreateCell((short)1); cell02.SetCellValue(MyCellArray02[i]); } else { HSSFCell cell02 = (HSSFCell)Row.CreateCell((short)1); cell02.SetCellValue(""); } Row.RowStyle = MyWorkbook.CreateCellStyle(); Row.RowStyle.BorderBottom = BorderStyle.Double; cell.CellStyle = MyWorkbook.CreateCellStyle(); cell.CellStyle.BorderRight = BorderStyle.Thin; cell.CellStyle.BorderBottom = BorderStyle.Dashed; cell.CellStyle.BottomBorderColor = HSSFColor.Red.Index; cell.CellStyle.FillPattern = FillPattern.SolidForeground; cell.CellStyle.FillForegroundColor = HSSFColor.Red.Index; //HSSFFont MyFont = (HSSFFont)MyWorkbook.CreateFont(); //MyFont.FontName = "Tahoma"; //MyFont.FontHeightInPoints = 14; //MyFont.Color = HSSFColor.Gold.Index; //MyFont.Boldweight = (short)FontBoldWeight.Bold; //cell.CellStyle.SetFont(MyFont); } MyWorkbook.Write(MyAddress); MyWorkbook.Close(); } //if (GUI.Button(new Rect(60, 120, 200, 30), "Reading Excel Files With " + "NPOI")) //{ // ReadExcelEnable_NPOI = true; // ReadExcelEnable_ExcelDataReader = false; // MyString.Clear(); //} //if (ReadExcelEnable_NPOI == true) //{ // HSSFWorkbook MyBook; // using (FileStream MyAddress_Read = new FileStream(Application.dataPath + "/My First Excel.xls", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) // { // MyBook = new HSSFWorkbook(MyAddress_Read); // } // ISheet Sheet_Read = MyBook.GetSheet(MySheetName); // for (int row = 0; row <= Sheet_Read.LastRowNum; row++) // { // IRow Row_Read = Sheet_Read.GetRow(row); // for (int cells = 0; cells < Row_Read.LastCellNum; cells++) // { // GUI.Label(new Rect(400 + cells * 200, 100 + row * 40, 200, 20),Row_Read.GetCell(cells).ToString()); // //Arabic And Persian Support // //GUI.Label(new Rect(400 + cells * 200,100+ row * 40, 200, 20),ArabicFixer.Fix(Row_Read.GetCell(cells).ToString())); // } // } //} //if (GUI.Button(new Rect(10, 160, 300, 30), "Reading Excel Files With " + "ExcelDataReader")) //{ // ReadExcelEnable_ExcelDataReader = true; // ReadExcelEnable_NPOI = false; // MyString.Clear(); //} //if (ReadExcelEnable_ExcelDataReader == true) //{ // IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(MyAddress); // DataSet Result = excelReader.AsDataSet(); // excelReader.IsFirstRowAsColumnNames = true; // int NumberOfRows = Result.Tables[0].Rows.Count; // int NumberOfCols = Result.Tables[0].Columns.Count; // for (int i = 0; i < NumberOfRows; i++) // { // for (int j = 0; j < NumberOfCols; j++) // { // if (i == NumberOfRows - 1 && j == NumberOfCols - 1) // { // ReadExcelEnable_ExcelDataReader = false; // } // MyString.Add(Result.Tables[0].Rows[i][j].ToString()); // } // } //} //for (int b = 0; b < MyString.Count; b++) //{ // GUI.Label(new Rect(400,100+ 20 * b, 200, 20),MyString[b]); // //Arabic And Persian Support // //GUI.Label(new Rect(400, 100 + 20 * b, 200, 20), ArabicFixer.Fix(MyString[b])); //} } } #endif