Ok, I see that if your excel files were to be used by users in multiple locales the formatted string solution wouldn't work. Here's a solution that we might apply for the next version of the Excel package:
1 . Open the file koolreport/excel/TableBuilder.php
and find the following lines:
public function getFormatted($value, $meta)
...
switch ($type) {
case "number":
...
$formatCode = "\"{$prefix}\"#,##0{$zeros}\"{$suffix}\"";
2 . Insert the following line:
public function getFormatted($value, $meta)
...
switch ($type) {
case "number":
...
$formatCode = "\"{$prefix}\"#,##0{$zeros}\"{$suffix}\"";
$formatCode = Util::get($meta, "excelFormatCode", $formatCode); //add this line
3 . In either your report's setup or your excel view's columns definition, set the column meta's "formatCode" property like this:
$prefix = "pre";
$suffix = "$";
...
"numericCol"
=> [
"excelFormatCode" => "\"{$prefix}\"" . "+#,##0.00" . "\"{$suffix}\"" . ";" . "\"{$prefix}\"" . "-#,##0.00" . "\"{$suffix}\"",
"type" => "number",
]
Let us know how this works for you. Rgds,