HSSFWorkbook workbook = new HSSFWorkbook(); //声明一个空白的工作簿,也可以将已有文件转化为文件流作为参数声明一个工作簿,这样这个工作簿里就会有已有文件中的内容
ISheet sheet = workbook.CreateSheet();//添加一个sheet页,如果已经有该sheet页,可以用workbook.GetSheetAt(0)获取该sheet页。同理row和cell如果存在也可以获得,但是一定要存在,否则会获取不到。
sheet.CreateRow(0).CreateCell(0).SetCellValue("你好");//给第一个sheet页的第一行的第一个单元格赋值,如果已有该行和单元格,可以用sheet.GetRow(0).GetCell(0)代替。如果已有改行和单元格,重新创建该单元格会将原有单元格的样式和内容全部清空
sheet.GetRow(0).CreateCell(1);//在第一个sheet页的第一行创建第二个单元格;创建了row之后,再次使用需要用GetRow()
ICellStyle cellstyle = workbook.CreateCellStyle();//创建一个样式,注意:样式不能创建太多,否则会报错,同理自定义颜色和字体样式也不能创建太多
cellstyle .VerticalAlignment = VerticalAlignment.Center;//垂直居中
cellstyle .Alignment = HorizontalAlignment.Center;//水平居中
cellstyle .FillForegroundColor = HSSFColor.PaleBlue.Index;//设置填充色
cellstyle .FillPattern = FillPattern.SolidForeground;//设置填充图案为实心前景,如果不加上这一句,填充色不会生效
cellstyle .BorderBottom = BorderStyle.Thin;//设置下边框粗细
cellstyle .BottomBorderColor = HSSFColor.Grey40Percent.Index;//设置下边框颜色
IFont font = workbook.CreateFont();//创建字体样式
font.Color = HSSFColor.White.Index;//设置字体颜色
font.FontName = "宋体";//设置字体字体
font.FontHeightInPoints = 12;//设置字体大小
cellstyle.SetFont(font);//让该样式使用该字体
sheet.GetRow(0).GetCell(0).CellStyle=cellstyle;//获取单元格并让改单元格使用该样式 ps:如果还要赋值,需要先设置样式再赋值,否则会出现未知的bug
sheet.CreateRow(0).CreateCell(2);
sheet.CreateRow(0).CreateCell(3);
sheet.CreateRow(1).CreateCell(2);
sheet.CreateRow(1).CreateCell(3);
sheet.AddMergedRegion(new CellRangeAddress(0, 1, 2, 3));//合并单元格,参数顺序:第1行到第2行,从第3列到第4列。合并单元格之前要确定有该单元格
sheet.SetColumnWidth(3, 30 * 256);//设置列宽 SetColumnWidth(列的索引号从0开始, N * 256) 第二个参数的单位是1/256个字符宽度。例:将第四列宽度设置为了30个字符。
sheet.GetRow(0).Height = 50 * 20;//设置行高 Height的单位是1/20个点。例:设置高度为50个点