C# NPOI操作Excel

示例:

            FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
            IWorkbook workbook = null;
            if (Path.GetExtension(filePath) == ".xlsx")
            {
                workbook = new XSSFWorkbook(fs);
            }
            else if(Path.GetExtension(filePath) == ".xls")
            {
                workbook = new HSSFWorkbook(fs);
            }
            fs.Close();

            if (workbook == null)
            {
                return;
            }

            File.Delete(filePath);
            
            ISheet sheet = workbook.GetSheetAt(0);
            int iRowCount = sheet.LastRowNum + 1;
            for (int i = 1; i < iRowCount; i++)
            {
                IRow row = sheet.GetRow(i);
                ICell cell = row.GetCell(0);
                if (cell == null)   //规定第一列遇到空单元格时则认为是最后一行。目的是应对用delete清楚数据而不是删除单元格时行数问题
                {
                    break;
                }
                string name = row.GetCell(0).StringCellValue;
                string idCard = row.GetCell(3).StringCellValue;
                if (row.Cells.Count < 5)
                {
                    row.CreateCell(4);
                }
                row.Cells[4].SetCellType(CellType.String);
                row.Cells[4].SetCellValue("Filled");

                
            }
            fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read);
            workbook.Write(fs);
            fs.Close();

 

你可能感兴趣的:(C#)