1

我是读取 excel 文件的 Apache POI 事件库,当单元格是数字类型并且没有任何与之关联的格式时,我得到 excel 保存的绝对值。我想知道 excel 如何将其显示为 40.33,因为我需要这样做。我知道 formatlistener ,它在这种情况下不起作用。

我想知道 excel 如何解释具有一般格式的单元格。例如,如果我在一个单元格中有 40.33,它会保存为 40.332999999999998。使用一般格式,当值以 16 位小数保存时,excel 如何知道显示 40.33。

<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" 
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:x14ac="http:
//schemas.microsoft.com/office/spreadsheetml/2009/9/ac" mc:Ignorable="x14ac">

<dimension ref="A1:A3"/>

<sheetViews>

<sheetView tabSelected="1" workbookViewId="0">

<selection activeCell="A5" sqref="A5"/>

</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/>
<sheetData>
<row r="1" spans="1:1" x14ac:dyDescent="0.25">
<c r="A1">
<v>40.332999999999998</v>
</c>
</row>
<row r="2" spans="1:1" x14ac:dyDescent="0.25">
<c r="A2" s="1">
<v>20</v>
</c>
</row>
<row r="3" spans="1:1" x14ac:dyDescent="0.25">
<c r="A3" s="2">
<v>0.2</v>
</c>
</row>
</sheetData>
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
<pageSetup orientation="portrait" r:id="rId1"/>
</worksheet>
4

1 回答 1

0

解决方案是在 poi 中使用 NumberToTextConverter 类来让数据看起来像 excel 显示的那样。

于 2014-03-11T21:03:59.190 回答