当前位置: 首页 > 知识库问答 >
问题:

使用POI获取应用于Excel单元格的货币

年高洁
2023-03-14

我试过这个:

if(Cell.CELL_TYPE_NUMERIC)
{
  System.out.println("Value in Excel cell:: " + cell.getNumericCellValue());
  short styleType = cell.getCellStyle().getDataFormat();
  System.out.println("style (currency):: " + styleType);

  if(styleType == <Some unique number>)  //want this unique number
  {
    System.out.println("Currency applied to this cell:: " + <Currency name>);
  }
}

所以,要么我得到唯一的数字来标识货币名称,要么我直接得到货币名称,那么这将是最好的。

共有1个答案

黄元章
2023-03-14

您可以通过查看org.apache.poi.ss.UserModel.BuiltInformats类的id标识内置格式,或者使用同一类获取格式字符串

 String dataFormatString =
 BuiltinFormats.getBuiltinFormat(cell.getCellStyle().getDataFormat());

或者可以使用CellStyle中的GetDataFormatString()方法获取货币格式

String dataFormatString = cell.getCellStyle().getDataFormatString();

更新:

 类似资料:
  • 在Java中,我应该得到的输出是

  • 问题内容: 我正在使用apache POI读取Excel文档。至少可以说,到目前为止,它已经可以满足我的目的。但是令我震惊的一件事是将单元格的值提取为HTML。 我有一个单元格,用户将在其中输入一些字符串并应用某种 格式(例如,项目符号/数字/粗体/斜体) 等。 因此,当我阅读它时,内容应为 HTML 格式,而不是POI给出的纯字符串格式。 我几乎遍历了整个POI API,但找不到任何人。我只想保

  • 我阅读了一份excel表格,其中包含ApachePOI的EventUserModel,它使用SAX解析器进行操作。 问题是我有一些普通的单元格,内容像“hello”,而单元格的内容像这样: 我不需要这些公式,但需要它们的评估值,例如“hello”。我知道它保存在XML中,但我不知道如何访问它。 似乎有一个“公式”标记,SAX总是返回这个值而不是数据值。否则将返回正常的“hello”。 我的代码如下

  • 问题内容: 如何在Java中使用poi获取单元格值? 我的代码看起来像这样 但是,如果在这种情况下,我如何检查我的单元格值是否包含错误值,例如#DIV / 0!以及如何用N / A替换它 问题答案: 您必须使用FormulaEvaluator,如图所示这里。如果单元格包含这样的公式,它将返回一个值,该值要么是单元格中存在的值,要么是公式的结果: 如果您需要精确的内容(例如,如果单元格包含公式,则为

  • 我正在尝试使用Apache POI来读取旧的(2007年之前和XLS)Excel文件。我的程序走到行的末尾并进行迭代,直到找到非null或非空的内容。然后它迭代几次并获取这些细胞。该程序可以很好地读取Office 2010中的XLSX和XLS文件。 我收到以下错误消息: 排队的时候: 根据代码: 其中是文档中最后一个不为空或null的单元格。当我尝试打印第一个不为空或null的单元格时,它不会打印

  • 我有一个Excel文件,文件中的一些单元格有别名,我想循环文件中的所有单元格并打印其中一个有别名的单元格,我正在使用Apache POI(Microsoft Documents的Java API)来做这件事,但是我没有找到获取单元格别名的方法,请看下面我的代码。 如何为单元格添加别名 鼠标单击选择工作表中的单元格,然后编辑名称框(功能框左边的那个)为该单元格输入别名,然后按enter键,从这一点开