gpt4 book ai didi

excel - 适用于 Excel 的 Apache POI : Setting the cell type to "text" for an entire column

转载 作者:行者123 更新时间:2023-12-01 19:10:58 25 4
gpt4 key购买 nike

我需要使用 Java 库 Apache POI for spreadsheets 生成 .xls (Excel) 文件.

该文件将在 A 列中包含电话号码列表,格式为“0221...”或“+49221...” - 因此 Excel 默认情况下将它们解释为数字单元格。这很糟糕,因为前导 0 或 + 将被修剪。

为了解决这个问题,我可以使用 cell.setCellType(Cell.CELL_TYPE_STRING),它工作得很好,但仅适用于我设置的特定单元格。

如何将此设置应用于整个列(即,即使对于所有剩余单元格,用户将在其中输入其他电话号码)?

在 Excel 中,这是可能的:选择整个列,然后应用单元格类型(该设置在保存/加载文件后仍然有效。)

但我找不到正确的 POI 方法。

  • 首先,我认为它应该类似于 sheet.setDefaultCellType(int colNum)。但我找不到这样的东西(可能我只是瞎了?库中有很多 similar methods 用于应用“对齐中心”等文本样式。)
  • 然后我想:也许它只能应用于 NamedRange或类似的东西,但我还没有弄清楚它是如何工作的......

最佳答案

以下是一些受 Vlad 答案启发的示例代码:

DataFormat fmt = workbook.createDataFormat();
CellStyle textStyle = workbook.createCellStyle();
textStyle.setDataFormat(fmt.getFormat("@"));
worksheet.setDefaultColumnStyle(0, textStyle);

上面的代码将工作表第一列的默认样式设置为TEXT

谢谢,弗拉德!

关于excel - 适用于 Excel 的 Apache POI : Setting the cell type to "text" for an entire column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6510012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com