在Offixe OpenXML的(*.xlsx),用于货币数字格式仅货币符号可以本地化但不是小数分隔符。小数点分隔符来自运行Excel的Windows系统的Windows系统区域设置。千位分隔符还默认为运行Excel的Windows系统的Windows系统区域设置。

在Excel中,这看起来像:

正如你看到的只是货币符号可以本地化。

至少可以使用格式字符串设置数千个分隔符。所以格式字符串可能是

"#\\ ###\\ ##0.00\\ [$€-40C];[RED]\\-#\\ ###\\ ##0.00\\ [$€-40C]"。

这是具有本地化的法国欧元货币符号和空间作为数千分隔符的货币数字格式。因为我们伪造了千位分隔符,所以我们必须在格式字符串中根据需要提供尽可能多的数字。

小数点分隔符是默认值,这意味着它来自运行Excel的Windows系统的Windows系统区域设置。因此格式字符串中的点.并不意味着始终使用小数点作为小数定界符,而是使用来自运行Excel的Windows系统的Windows系统区域设置的小数定界符。如果我们使用逗号,作为格式字符串中的千位分隔符,那么这也会使用来自运行Excel的Windows系统的Windows系统语言环境设置的千位分隔符。然后,我们不需要在格式字符串中输入太多的数字,因为那么千位分隔符设置会每隔数千位重复一次。所以

"#,##0.00\\ [$€-40C];[RED]\\-#,##0.00\\ [$€-40C]"

就足够了。

实施例:

import java.io.FileOutputStream;

import org.apache.poi.ss.usermodel.*;

import org.apache.poi.xssf.streaming.SXSSFWorkbook;

import org.apache.poi.xssf.streaming.SXSSFSheet;

public class CreateExcelNumberFormat {

public static void main(String[] args) throws Exception {

SXSSFWorkbook workbook = new SXSSFWorkbook(100);

DataFormat dataformat = workbook.createDataFormat();

CellStyle cellStyleCurrency = workbook.createCellStyle();

cellStyleCurrency.setDataFormat(dataformat.getFormat("#\\ ###\\ ##0.00\\ [$€-40C];[RED]\\-#\\ ###\\ ##0.00\\ [$€-40C]"));

Sheet sheet = workbook.createSheet();

Row row = sheet.createRow(1);

Cell cell = row.createCell(0);

cell.setCellValue(123456.78);

cell.setCellStyle(cellStyleCurrency);

((SXSSFSheet)sheet).trackColumnForAutoSizing(0);

sheet.autoSizeColumn(0);

workbook.write(new FileOutputStream("CreateExcelNumberFormat.xlsx"));

workbook.close();

workbook.dispose();

}

}

但这不是一样的局部货币格式是在LibreOffice的OpenDocument电子表格格式可用。这看起来像:

正如你在这里看到的这两个,货币符号和全格式的语言,可以本地化。

但它是Office OpenXML(*.xlsx)不能存储本地化的货币数字格式。 OpenDocument电子表格(*.ods)是OpenOffice/LibreOffice的原生格式,可以保存本地化的货币数量格式,但是如果Excel打开这样的文件,本地化将会丢失。

OpenOffice/Libreoffice的“Language”组合框的设置不能存储在*.xlsx中,也不能存储在OpenOffice/Libreoffice中。在OpenOffice/Libreoffice中设置别的默认值,将文件保存为*.xlsx,关闭OpenOffice/Libreoffice,再次在OpenOffice/Libreoffice中打开存储的*.xlsx文件。您会看到“语言”被重设为默认值。

JAVA设置输入数据范围,如何使用Apache POI(SXSSF)为特定单元格设置数据(数字)格式区域设置?...相关推荐

  1. Apache POI和EasyExcel 第六集:Apache POI的Excel读取单元格中的计算公式

    Apache POI和EasyExcel 第六集:Apache POI的Excel读取单元格中的计算公式 一.资源 代码实现中的带有计算公式的Excel(xls) 链接:https://pan.bai ...

  2. java poi设置单元格格式为数值_java中导出excel设置单元格的样式为数字格式怎么设置_Java代码实现设置单元格格式...

    java中导出excel设置单元格的样式为数字格式怎么设置 如果是使用poi,它会自动根据参数值设置单元格为恰当格式,只需传入数字类型参数值即可,比如 double value=....; cell. ...

  3. java.lang.IncompatibleClassChangeError: Found interface org.apache.poi.util.POILogger, but class was

    做Excel导入过程中出现这样的问题 java.lang.IncompatibleClassChangeError: Found interface org.apache.poi.util.POILo ...

  4. java 读取 excel poi_java poi怎么获取excel单元格的内容?

    展开全部 package edu.sjtu.erplab.poi; import java.io.InputStream&ch=ww.xqy.chain" target=" ...

  5. java读取excel某个单元格的值_java poi怎么获取excel单元格的内容

    展开全部 package edu.sjtu.erplab.poi; import java.io.InputStream&ch=ww.xqy.chain" target=" ...

  6. Java之使用poi导出excel文件,并为特定单元格加锁

    使用 SXSSFWorkbook 进行Excel导出下载 注意:测试结果没有达到预期,那换个方式试试 参考:1.https://blog.csdn.net/aiza4108/article/detai ...

  7. JAVA POI拆分合并的单元格

    JAVA POI拆分合并的单元格 最近项目中需要做一个导入功能,但是EXCEL数据有合并单元格的情况出现,导入的数据需要直接入库,合并单元格的数据首行会有数据,但次行的值为空.见下图 需要获取C列和E ...

  8. Apache POI和EasyExcel 第五集:Apache POI的Excel读取不同类型的数据

    Apache POI和EasyExcel 第五集:Apache POI的Excel读取不同类型的数据 一.资源 什么是Apache POI Apache POI 不同类型的数据的表格(xls) 链接: ...

  9. java excel poi 包_用java poi包读取Excel单元格

    content = new hashmap(); string str = ""; try { fs = new poifsfilesystem(is); wb = new hss ...

最新文章

  1. linux 服务器安装mysql5.6
  2. win8: hello gril
  3. 理解Java字符串常量池与intern()方法
  4. OCP大会 | DCOS – 面向数据中心的运营操作系统(附PPT)
  5. SQL View 的使用语法与原则
  6. 大学计算机应用基础考试题库,大学计算机应用基础考试题库
  7. 吴恩达|机器学习作业目录
  8. Android---真机调试时不能识别手机的解决方案
  9. python定时器 循环_Python循环定时服务功能(相似contrab)
  10. #pragma的常用方法讲解(转载)
  11. XILINX FPGA数字信号处理——1、信号处理概论
  12. Git遇到Unable to create 'E:/xxx/.git/index.lock': File exists.的解决办法
  13. Markdown Katex 集合相关符号
  14. 基于微信公众平台的智能硬件/智能设备APP开发详解
  15. 出租车捧红嘀嗒?这个似乎是一个谎言
  16. 《郑州市数据中心产业发展规划(2021—2025年)》发布
  17. VBA提取字符串纯数字的方法
  18. 0基础学习Linux运维的必经之路
  19. mysql数据库西里尔文乱码_如何将Window-1251(俄语西里尔字母)MySql数据库转换为UTF-8...
  20. 20P50 PR模板Pr转场70种信号干扰画面像素破损转场效果+转场音效

热门文章

  1. python windows 客户端开发_如何在Windows上使用Python进行开发
  2. python vs golang_Ruby vs Golang:四个维度对比,谁更胜一筹?
  3. python gui编程 自动化框架_使用Python进行GUI操作自动化
  4. dsge模型难做吗_百度Seo优化好做吗,现在做是不是越来越难做?
  5. rpm安装mysql
  6. linux fork脚本,在Shell脚本中调用另一个脚本的三种方式讲解
  7. mysql in 通配符_mysql必知必会--用通配符进行过滤
  8. mongodb和mysql的对比_Mongodb与mysql语法比较
  9. java 金额_货币金额的计算 - Java中的BigDecimal
  10. api返回的数据结构_JavaScript中的数据结构数组 和 栈