1.获取NUGET NPOI包。

C#-NPOI操作EXCEL-LMLPHP

2.引用命名空间

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

3创建excel

C#-NPOI操作EXCEL-LMLPHP

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

读取excel

            ///读取excel
/// //打开文件流
FileStream fs = File.OpenRead(filePath);
//打开工作簿
IWorkbook workbook = new XSSFWorkbook(fs);
//读第一个sheet
ISheet sheet = workbook.GetSheetAt();
//读取该sheet的第一行
IRow firstRow = sheet.GetRow();
//读取第一行第一个格子
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 == || format == || format == || format == )
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);
05-11 22:02