PHPExcel获取除$和EUR之外的单元格货币格式

Mar*_*rek 9 phpexcel

PHPExcel仅使用$和EUR:

const FORMAT_CURRENCY_USD_SIMPLE        = '"$"#,##0.00_-';
const FORMAT_CURRENCY_USD            = '$#,##0_-';
const FORMAT_CURRENCY_EUR_SIMPLE        = '[$EUR ]#,##0.00_-';
Run Code Online (Sandbox Code Playgroud)

我需要的是获得其他货币(我使用"zł"代表波兰兹罗提).除$和EUR外的所有货币均标记为"一般".

关于SWilk答案的后续问题:如何使用自定义格式.我在NumberFormat.php中添加了新常量:

const FORMAT_CURRENCY_PLN_1 = '_-* #,##0.00\ [$z?-415]_-';
const FORMAT_CURRENCY_PLN_2 = '\-* #,##0.00\ [$z?-415]_-';
const FORMAT_CURRENCY_PLN_3 = '_-* "-&quot';
const FORMAT_CURRENCY_PLN_4 = '??\ [$z?-415]_-;_-@_-';
Run Code Online (Sandbox Code Playgroud)

好吗?我还需要做什么才能阅读格式

$objPHPExcel->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode();
Run Code Online (Sandbox Code Playgroud)

Mar*_*ker 7

默认常量仅定义为美元和欧元,但PHPExcel不会仅限于那些常量常量值.它们只是弦乐; 并且您可以将任何有效的MS Excel格式代码设置为numberFormat掩码,只需将其设置为适当的字符串值即可.通常,将自己的新常量添加到numberFormat.php通常不是一个好主意,因为您需要记住在升级到新版本的PHPExcel时添加它们...最好在您的新版本中定义其他常量自己的代码.

您可以使用以下方法将货币格式应用于单元格

$objPHPExcel->getActiveSheet()
    ->getStyle('E4:E13')
    ->getNumberFormat()
    ->setFormatCode(
        '_-* #,##0.00\ [$z?-415]_-'
    );
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用自定义新常量

define('FORMAT_CURRENCY_PLN_1', '_-* #,##0.00\ [$z?-415]_-');
Run Code Online (Sandbox Code Playgroud)

然后你可以使用它将它应用到你的细胞

$objPHPExcel->getActiveSheet()
    ->getStyle('E4:E13')
    ->getNumberFormat()
    ->setFormatCode(
        FORMAT_CURRENCY_PLN_1
    );
Run Code Online (Sandbox Code Playgroud)


SWi*_*ilk 3

我保存了一个简单的 Excel 文件,其中一个单元格格式为以 PLN 计价的货币单元格。解压 .xlsx 并检查格式。\n是:

\n\n
_-* #,##0.00\\ [$z\xc5\x82-415]_-;\\-* #,##0.00\\ [$z\xc5\x82-415]_-;_-* "-"??\\ [$z\xc5\x82-415]_-;_-@_-\n
Run Code Online (Sandbox Code Playgroud)\n\n

尝试使用这种格式或基于此编写自己的格式。

\n