我正在使用 JXL 编写 Excel 文件。客户希望某一列显示保留一位小数的数字。他们还希望细胞类型为“数字”。当我使用以下(测试)代码时,数字显示正确,但单元格类型为“自定义”。
File excelFile = new File("C:\\Users\\Rachel\\Desktop\\TestFile.xls");
WritableWorkbook excelBook = Workbook.createWorkbook(excelFile);
WritableSheet excelSheet = excelBook.createSheet("Test Sheet", 0);
WritableFont numberFont = new WritableFont(WritableFont.ARIAL);
WritableCellFormat numberFormat = new WritableCellFormat(numberFont, new NumberFormat("#0.0"));
Number numberCell = new Number(0, 0, 25, numberFormat);
excelSheet.addCell(numberCell);
excelBook.write();
excelBook.close();
如果我将数字格式更改为 NumberFormats 中的变量之一(例如 NumberFormats.INTEGER),则单元格类型是正确的。但数字当然显示为整数。我在 NumberFormats 中找不到符合我需求的变量。
有人知道如何正确显示数字和单元格类型吗?我需要所有以 1 位小数显示的数字(即使它们是整数)。而且我无法切换到任何其他技术,我必须使用 JXL。
如果这不是您想要的,我很抱歉。但是,我对您的需求的理解是单元格类型=数字,小数点后一位。您可以定义自己的数字格式。您可以使用此格式(“#.0”)来获取您想要的内容(例如:900.0,23.0,34324.0 和 .etc)
NumberFormat decimalNo = new NumberFormat("#.0");
WritableCellFormat numberFormat = new WritableCellFormat(decimalNo);
//write to datasheet
Number numberCell = new Number(0, 0, 25, numberFormat);
excelSheet.addCell(numberCell);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)