gpt4 book ai didi

java - Poi ' charactered 似乎是自动添加的

转载 作者:搜寻专家 更新时间:2023-11-01 01:52:13 25 4
gpt4 key购买 nike

我使用 POI 3.1 生成一个 xlsx 文件。

这个字符'是自动添加到我的单元格中的

cell = row.createCell(0);
cell.setCellValue(atm.getEnvelop());

cell = row.createCell(1);
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
cell.setCellValue(atm.getAmount().replace(".", ","));

atm.getEnvelop() 和 atm.getAmount() 都是字符串

atm.getEnvelop() 值是 8635,但是当我检查生成的文件时,我得到:'8635

另一个也是一样

值为 200,00 我得到 '200,00

有什么想法吗?

最佳答案

您的问题是您正在调用 cell.setCellValue(String),它会自动将单元格类型设置为字符串

如果你想设置一个数字单元格类型(所以在 Excel 中没有前缀 '),你需要给 Apache POI 一个数字而不是一个字符串。

此代码将在 Excel 中设置 '200.00:

String s200 = "200.00";
cell.setCellValue(s200);

虽然这将在 Excel 中为您提供 200.00:

// Once per workbook - tell excel to format with with two decimal points
DataFormat fmt = wb.createDataFormat()
CellStyle cs = wb.createCellStyle();
cs.setDataFormat(fmt.getFormat("0.00"));

// Once per cell
double d200 = 200.0;
cell.setCellValue(d200);
cell.setCellStyle(cs);

对于您的情况,您的号码似乎以字符串形式出现,您需要在将其提供给 POI 之前将其解析为数字(例如 double )

关于java - Poi ' charactered 似乎是自动添加的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24290278/

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