• C#-NPOI操作EXCEL


    1.获取NUGET NPOI包。

    2.引用命名空间

    using NPOI.SS.UserModel;
    using NPOI.XSSF.UserModel;
    using NPOI.HSSF.UserModel;

    3创建excel

                ///创建excel
                ///
    
    
                //创建一个工作簿,2007版以上的后缀为.xlsx
                IWorkbook workbook = new XSSFWorkbook();
                //2003版本后缀为.xls
                IWorkbook workbook = new HSSFWorkbook();
                //创建一个sheet
                ISheet sheet = workbook.CreateSheet("sheet1");
                //在sheet中创建一行
                IRow row = sheet.CreateRow(0);
                //在该行中创建一个格子
                ICell cell = row.CreateCell(0);
                //给该格子赋值
                cell.SetCellValue("shanghai");

    读取excel

                ///读取excel
                ///
    
                //打开文件流
                FileStream fs = File.OpenRead(filePath);
                //打开工作簿
                IWorkbook workbook = new XSSFWorkbook(fs);
                //读第一个sheet
                ISheet sheet = workbook.GetSheetAt(0);
                //读取该sheet的第一行
                IRow firstRow = sheet.GetRow(0);
                //读取第一行第一个格子
                ICell cell = firstRow.GetCell(i);
    
                //类型不同读取不同的值
                switch (cell.CellType)
                {
                    case CellType.Blank:
                        dataRow[j] = "";
                        break;
                    case CellType.Numeric:
                        short format = cell.CellStyle.DataFormat;
                        //对时间格式(2015.12.5、2015/12/5、2015-12-5等)的处理
                        if (format == 14 || format == 31 || format == 57 || format == 58)
                            dataRow[j] = cell.DateCellValue;
                        else
                            dataRow[j] = cell.NumericCellValue;
                        break;
                    case CellType.String:
                        dataRow[j] = cell.StringCellValue;
                        break;
                }

    excel格子样式

                ///格子样式
                ///
    
                //格子背景绿色的样式
                ICellStyle Green = workbook.CreateCellStyle();
                Green.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Green.Index;
                Green.FillPattern = FillPattern.SolidForeground;
    
                //格子加上边框
                Green.BorderBottom = BorderStyle.Thin;
                Green.BorderLeft = BorderStyle.Thin;
                Green.BorderRight = BorderStyle.Thin;
                Green.BorderTop = BorderStyle.Thin;

            //格子使用该样式
            cell.CellStyle = Green;

    excel公式

                ///使用excel公式
                ///
    
                //将sss公式计算后的值付给该格子
                string sss = "SUM(C1:F1)";
                cell.SetCellFormula(sss);
  • 相关阅读:
    C#学习笔记(委托)
    C#学习笔记(函数——如何在函数中传入传出参数)
    C#学习笔记(隐式和显式转化、枚举类型、结构类型、数组类型和字符串)
    C#学习笔记(流程语句)
    C#学习笔记(基本语法)
    java调用exe,及调用bat不成功的解决办法
    JS数组去重精简版
    根据经纬度坐标获取位置信息(基于百度地图)
    图解算法习题之老王的杂货铺
    JS中的MOD运算
  • 原文地址:https://www.cnblogs.com/JinweiChang/p/10831005.html
Copyright © 2020-2023  润新知