【问题标题】:Using JExcelApi to write BigInteger to xls with $ and , formatting使用 JExcelApi 将 BigInteger 写入带有 $ 和 , 格式的 xls
【发布时间】:2014-12-06 22:23:23
【问题描述】:

我正在尝试编写存储为 BigDecimals 的值,例如6789456123 到 xls 文件,但我需要 xls 文件显示 $6,789,456,123(作为具有 0dp 的货币。我可以将其作为具有这种格式的字符串来执行,但这并不理想)。我正在使用JExcelApi,但我无法弄清楚如何做到这一点。任何帮助,将不胜感激。

谢谢

【问题讨论】:

标签: java excel xls jxl jexcelapi


【解决方案1】:

编辑:您可以使用 .doubleValue() 方法将 BigDecimal 转换为 double。更改示例以满足您的需求。


尝试像这样创建自定义 NumberFormat:

NumberFormat dollarCurrency = new NumberFormat(NumberFormat.CURRENCY_DOLLAR + " ###,###,###.00", NumberFormat.COMPLEX_FORMAT);
WritableCellFormat dollarFormat = new WritableCellFormat(dollarCurrency);
n = new Number(column, row, myBigDecimal.doubleValue(), dollarFormat);
s.addCell(n);

您还可以在此处阅读许多其他示例:jxl demo

【讨论】:

  • 据我所知,这不起作用,因为我正在处理 BigDecimals。 Number 没有 (int,int,BigDecimal,WriteableCellFormat) 的构造函数
  • @Rudder_NZ 第三个参数是双精度。使用 Bigdecimal 方法的 .doubleValue。所以在你的情况下通过: myBigDecimal.doubleValue() 作为第三个参数
  • 成功了,谢谢。出于某种原因,我以为我已经尝试过了,但没有成功。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-21
  • 1970-01-01
  • 1970-01-01
  • 2012-03-10
  • 1970-01-01
相关资源
最近更新 更多