unity 使用 NPOI 读取创建Excle


 所需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();
    }

   

}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM