Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JXL编号格式和单元格类型_Java_Excel_Jxl - Fatal编程技术网

Java JXL编号格式和单元格类型

Java JXL编号格式和单元格类型,java,excel,jxl,Java,Excel,Jxl,我正在使用JXL编写一个Excel文件。客户希望某列显示小数点后一位的数字。他们还希望单元格类型为“数字”。使用以下(测试)代码时,数字显示正确,但单元格类型为“自定义” 如果我将数字格式更改为NumberFormats(例如NumberFormats.INTEGER)中的一个变量,则单元格类型是正确的。当然,数字是以整数的形式显示的。我找不到符合我需要的NumberFormats变量 有人知道一种方法可以使数字显示和单元格类型都正确吗?我需要所有数字都显示为1位小数(即使它们是整数)。我不能切

我正在使用JXL编写一个Excel文件。客户希望某列显示小数点后一位的数字。他们还希望单元格类型为“数字”。使用以下(测试)代码时,数字显示正确,但单元格类型为“自定义”

如果我将数字格式更改为NumberFormats(例如NumberFormats.INTEGER)中的一个变量,则单元格类型是正确的。当然,数字是以整数的形式显示的。我找不到符合我需要的NumberFormats变量


有人知道一种方法可以使数字显示和单元格类型都正确吗?我需要所有数字都显示为1位小数(即使它们是整数)。我不能切换到任何其他技术,我必须使用JXL。

如果这不是您想要的,我很抱歉。但是,我对您的需求的理解是,单元格类型=数字加1位小数。您可以定义自己的数字格式。您可以使用此格式(“#.0”)获取所需内容(例如:900.0、23.034324.0等)


我知道这个问题是在2011年提出的。你设法弄明白了吗?我也有同样的问题,尽管我还有其他选择,那就是使用ApachePOI。我忘记了我最后做了什么,现在在另一家公司工作。很抱歉,我收到一个错误:“NumberFormat”是抽象的。无法实例化
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();
NumberFormat decimalNo = new NumberFormat("#.0"); 
WritableCellFormat numberFormat = new WritableCellFormat(decimalNo);
//write to datasheet
Number numberCell = new Number(0, 0, 25, numberFormat); 
excelSheet.addCell(numberCell);