PHPExcel仅使用$和EUR:
const FORMAT_CURRENCY_USD_SIMPLE = '"$"#,##0.00_-';
const FORMAT_CURRENCY_USD = '$#,##0_-';
const FORMAT_CURRENCY_EUR_SIMPLE = '[$EUR ]#,##0.00_-';
我需要的是获得其他货币(我使用“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 = '_-* "-"';
const FORMAT_CURRENCY_PLN_4 = '??\ [$zł-415]_-;_-@_-';
没关系?我还需要做什么才能使用
读取格式$objPHPExcel->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode();
答案 0 :(得分:7)
默认常量仅定义为美元和欧元,但PHPExcel并不仅限于那些常量常量值。它们只是弦乐;并且您可以将任何有效的MS Excel格式代码设置为numberFormat掩码,只需将其设置为适当的字符串值即可。通常,将自己的新常量添加到numberFormat.php通常不是一个好主意,因为您需要记住在升级到新版本的PHPExcel时添加它们...最好在您的新版本中定义其他常量自己的代码。
您可以使用以下方式将货币格式应用于单元格:
$objPHPExcel->getActiveSheet()
->getStyle('E4:E13')
->getNumberFormat()
->setFormatCode(
'_-* #,##0.00\ [$zł-415]_-'
);
或者,如果您使用
定义自己的新常量define('FORMAT_CURRENCY_PLN_1', '_-* #,##0.00\ [$zł-415]_-');
然后您可以使用
将其应用于您的单元格$objPHPExcel->getActiveSheet()
->getStyle('E4:E13')
->getNumberFormat()
->setFormatCode(
FORMAT_CURRENCY_PLN_1
);
答案 1 :(得分:3)
我保存了一个简单的Excel文件,其中一个单元格格式化为PLN中的货币单元格。解压缩.xlsx并检查格式。 它是:
_-* #,##0.00\ [$zł-415]_-;\-* #,##0.00\ [$zł-415]_-;_-* "-"??\ [$zł-415]_-;_-@_-
尝试使用此格式或根据此格式编写自己的格式。
答案 2 :(得分:1)
英镑(英镑)phpExcel
$numformat= '£#,##0_-';
$activeSheet->getStyle($cell)->getNumberFormat()->setFormatCode($numformat);
$activeSheet->setCellValue($cell,$val4);
我通过将xlsx解压缩为格式为货币£的单元格(或者输入了£的单元格来找到正确的值:似乎是相同的格式)