我正在使用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();
Run Code Online (Sandbox Code Playgroud)
如果我将数字格式更改为NumberFormats中的变量之一(例如NumberFormats.INTEGER),则单元格类型是正确的.但数字当然显示为整数.我在NumberFormats中找不到符合我需要的变量.
有人知道如何同时显示数字和细胞类型吗?我需要显示1位小数的所有数字(即使它们是整数).我无法切换到任何其他技术,我必须使用JXL.
如果这不是你想要的,我很抱歉.但是,我对你的需求的理解是让细胞类型=数字,小数点后1位.您可以定义自己的数字格式.您可以使用此格式("#.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);
Run Code Online (Sandbox Code Playgroud)