NPOI设置单元格宽和高

时间:2024-03-04 15:36:02

     1.设置单元格宽

        1.1 Excel中单元格的宽实际就是列宽,HSSFSheet有个方法叫SetColumnWidth,共有两个参数:一个是列的索引(从0开始),一个是宽度。

         示例:

   HSSFWorkbook hssfworkbook = new HSSFWorkbook();
   HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
   sheet1.SetColumnWidth(1, 100 * 256);

讲解:SetColumnWidth的第二个参数要乘以256,这是怎么回事呢?其实,这个参数的单位是1/256个字符宽度,也就是说,这里是把B列的宽度设置为了100个字符。

2.获取单元格宽
2.1直接用GetColumnWidth方法,这个方法只有一个参数,那就是列的索引号。

示例:
    int col1width = sheet1.GetColumnWidth(1);

3.设置单元格高
3.1 在Excel中,每一行的高度也是要求一致的,所以设置单元格的高度,其实就是设置行的高度,所以相关的属性也应该在HSSFRow上,它就是HSSFRow.Height和HeightInPoints,
这两个属性的区别在于HeightInPoints的单位是点,而Height的单位是1/20个点,所以Height的值永远是HeightInPoints的20倍。

示例:

sheet1.CreateRow(0).Height = 200*20;
sheet1.CreateRow(0).HeightInPoints = 200;

4.获取单元格高
4.1 如果要获得某一行的行高,可以直接拿HSSFRow.Height属性的返回值。

示例:

int rowHeight=sheet1.GetRow(0).HeightInPoints;

5.设置默认单元格宽和高
5.1你可能觉得一行一行设置行高或者一列一列设置列宽很麻烦,那你可以考虑使用HSSFSheet.DefaultColumnWidth、HSSFSheet.DefaultRowHeight和
HSSFSheet.DefaultRowHeightInPoints属性。一旦设置了这些属性,如果某一行或者某一列没有设置宽度,就会使用默认宽度或高度。
示例:
sheet1.DefaultColumnWidth=100*256;
sheet1.DefaultRowHeight=30*20;