所需dll
网盘下载
链接: https://pan.baidu.com/s/12K0eZMt6JGfQlRKYDOJ9dA 提取码: n5jx
using NPOI.SS.UserModel; using System.IO; using UnityEngine; using NPOI.XSSF.UserModel; using UnityEngine.UI; using NPOI.HSSF.UserModel; using NPOI.HSSF.Util; public class OperationExcel : MonoBehaviour { private void Start() { ReadExcel_NPOI(); CreateExcel_NPOI(); } public Text text; string path = @"C://Users/Administrator/Desktop/20200821目录.xlsx"; string Cpath = @"C://Users/Administrator/Desktop/2.xlsx"; // NPOI 读取 Excle void ReadExcel_NPOI() { /* //excel 2007之前版本 HSSFWorkbook Mybook; using (FileStream fileStream=new FileStream(path,FileMode.Open,FileAccess.Read,FileShare.Read)) { Mybook = new HSSFWorkbook(fileStream); } */ //excel 2007之后版本 XSSFWorkbook Mybook = new XSSFWorkbook(path); //获取表名为 “男性” 的表 ISheet sheet = Mybook.GetSheet("男性"); //获取行数 int RowLength = sheet.LastRowNum; Debug.Log(RowLength); //遍历所有行 for (int i = 0; i <=sheet.LastRowNum; i++) { //获取行 IRow sheet_row = sheet.GetRow(i); //当前行为null时,跳过此行 if (sheet_row == null) continue; //遍历行的所有列 for (int b = 0; b < sheet_row.LastCellNum; b++) { Debug.Log(sheet_row.GetCell(b).ToString()); text.text += sheet_row.GetCell(b).ToString()+"--"; } } } // NPOI 创建 Excle 版本小于2007 void CreateExcel_NPOI() { FileStream MyAddress = new FileStream(Cpath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite); HSSFWorkbook MyWorkbook = new HSSFWorkbook(); //创建表一 HSSFSheet Sheet01 = (HSSFSheet)MyWorkbook.CreateSheet("表一"); for (int i = 0; i < 5; i++) { //创建行 HSSFRow row = (HSSFRow)Sheet01.CreateRow(i); for (int b = 0; b < 3; b++) { //创建列 HSSFCell cell = (HSSFCell)row.CreateCell(b); //添加内容 cell.SetCellValue("数值"+i*b); if (b < 2) continue; //创建单元格样式 cell.CellStyle = MyWorkbook.CreateCellStyle(); //边界右侧 cell.CellStyle.BorderRight = BorderStyle.Thin; //边框底部 cell.CellStyle.BorderBottom = BorderStyle.Dashed; //下边框颜色 cell.CellStyle.BottomBorderColor = 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); } //创建单元格样式 row.RowStyle = MyWorkbook.CreateCellStyle(); //边框底部 row.RowStyle.BorderBottom = BorderStyle.Double; } //创建表二 HSSFSheet Sheet02 = (HSSFSheet)MyWorkbook.CreateSheet("表二"); for (int i = 0; i < 5; i++) { HSSFRow row = (HSSFRow)Sheet02.CreateRow(i); for (int b = 0; b < 3; b++) { HSSFCell cell = (HSSFCell)row.CreateCell(b); cell.SetCellValue("数值" + i * b); } } //写入到文件流 MyWorkbook.Write(MyAddress); //关闭 MyWorkbook.Close(); //关闭文件流 MyAddress.Dispose(); } }