zoukankan      html  css  js  c++  java
  • (zz)设置单元格的宽度和高度

    在Excel中,单元格的宽度其实就是列的宽度,因为Excel假设这一列的单元格的宽度肯定一致。所以要设置单元格的宽度,我们就得从列的宽度下手,HSSFSheet有个方法叫SetColumnWidth,共有两个参数:一个是列的索引(从0开始),一个是宽度。

    现在假设你要设置B列的宽度,就可以用下面的代码:

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

    这里你会发现一个有趣的现象,SetColumnWidth的第二个参数要乘以256,这是怎么回事呢?其实,这个参数的单位是1/256个字符宽度,也就是说,这里是把B列的宽度设置为了100个字符。

    刚才说的是如何设置,那如何去读取一个列的宽度呢?直接用GetColumnWidth方法,这个方法只有一个参数,那就是列的索引号。如下所示:

    int col1width = sheet1.GetColumnWidth(1);

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

    要设置第一行的高度,可以用如下代码:

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

    或者

    sheet1.CreateRow(0).HeightInPoints = 200;

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

    你可能觉得一行一行设置行高或者一列一列设置列宽很麻烦,那你可以考虑使用HSSFSheet.DefaultColumnWidth、HSSFSheet.DefaultRowHeight和HSSFSheet.DefaultRowHeightInPoints属性。

    一旦设置了这些属性,如果某一行或者某一列没有设置宽度,就会使用默认宽度或高度。代码如下:

    sheet1.DefaultColumnWidth=100*256;
    sheet1.DefaultRowHeight=30*20;

    相关范例请见NPOI 1.2正式版中的SetWidthAndHeightInXls项目

  • 相关阅读:
    eclipse真机调试显示Target unknown的解决方法
    教你看懂GERBER中的钻孔(.txt)文件
    Quartus ii 12.0 和ModelSim 10.1 SE安装及连接
    Android的学习——ubuntu下android5.1源码的make编译
    ubuntu 14.04 下找不到命令,路径出错
    【转载】VMware虚拟机修改硬盘容量大小
    Fedora10下建立linux系统的窗口没有地址栏
    [转]SecureCRT连接主机时,无法从键盘输入
    在FASTBuild中使用Distribution
    在FASTBuild中使用Caching
  • 原文地址:https://www.cnblogs.com/zxtceq/p/5319746.html
Copyright © 2011-2022 走看看