代码之家  ›  专栏  ›  技术社区  ›  Yellowfog

在使用NPOI创建的Excel文档中,如何将列设置为“自动调整大小”?

  •  17
  • Yellowfog  · 技术社区  · 14 年前

    NPOI 是JavaPOI项目的.NET端口,它允许用户读取和写入MicrosoftExcel文档(以及其他Office格式)。npoi1.2.2引入了对“自动调整大小”列的支持,从而将列设置为列中最宽单元格条目的宽度。然而,有许多报告说,这是行不通的。有可能吗?

    2 回复  |  直到 14 年前
        1
  •  33
  •   Yellowfog    14 年前

    我发布这个只是为了回答这个问题,以便提供一个记录。它 可以使用NPOI自动调整列的大小,但是必须将所有数据添加到列中,而不是行中。将所有单元格添加到column@columnIndex后,调用

    mySheet.AutoSizeColumn(columnIndex)
    

    转到下一列。我没有找到其他方法使这个功能工作。

        2
  •  5
  •   user2338169    11 年前

    如黄雾所示,以下各项将起作用

    mySheet.AutoSizeColumn(columnIndex)
    

    然而,在帖子中出现了一些含糊不清的地方。这似乎是一个方法,只有在你完成输入数据,样式等工作,所以这将工作

    ISheet mySheet = hssfworkbook.CreateSheet("sheet1");
    IRow row = mySheet.CreateRow(0);
    ICell cell = row.CreateCell(0);
    cell.SetCellValue("foo");
    mySheet.AutoSizeColumn(0);
    

    ISheet mySheet = hssfworkbook.CreateSheet("sheet1");
    mySheet.AutoSizeColumn(0);
    IRow row = mySheet.CreateRow(0);
    ICell cell = row.CreateCell(0);
    cell.SetCellValue("foo");