//创建一个Excel文件 HSSFWorkbook work = new HSSFWorkbook(); //新建一个工作表 ISheet sheet1 = work.CreateSheet("工作表名称"); //新增 //新建一行,行号从0开始 IRow row = sheet1.CreateRow(0); //创建一个单元格(列从0开始)并写入值 row.CreateCell(0).SetCellValue("test"); //修改 //修改一个单元格的内容 //方法一 row.GetCell(0).SetCellValue("edit"); //方法二 sheet1.GetRow(0).GetCell(0).SetCellValue("edit"); //读取单元格的值 //方法一 string val = row.GetCell(0).StringCellValue; //方法二 string val2 = sheet1.GetRow(0).GetCell(0).StringCellValue; //创建一个新的单元写入读取的值,看是否正确 row.CreateCell(2).SetCellValue(val + val2); /* 注意没有创建的单元格无法使用 * 在当前实例中,以下操作运行时都会报错 row.GetCell(3).SetCellValue("edit"); sheet1.GetRow(1).GetCell(3).SetCellValue("edit"); string valt = row.GetCell(3).StringCellValue; string valt2 = sheet1.GetRow(0).GetCell(3).StringCellValue; */ //合并单元格 //圈定范围CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol) //圈定范围内的单元格不要求必须事先创建好 //合并后仅保留firstRow,firstCol的内容 sheet1.AddMergedRegion(new CellRangeAddress(1, 2, 1, 3)); //合并后的单元格写值和读值都必须在firstRow,firstCol中进行 //同上没有创建的单元格无法使用,使用前必须先创建 sheet1.CreateRow(1).CreateCell(1).SetCellValue("123");//从上面可以发现,NPOI允许先合并单元格再创建单元格来写值和读值 //创建一个文件流 FileStream fs = File.Create("test.xls"); //将NPOI创建的Excel写入"test.xls"文件 work.Write(fs); //关闭文件流 fs.Close();