PHP 从 xlsx 生成的页面的千位分隔符格式
PHP thousand separator formatting for generated page from xlsx
ty mail2bapi, :)
我在代码中使用 SimpleXLSX
和下面的示例脚本我添加了这个 $x = number_format($r);
只需要数字有千位分隔符
252252732
到
252,252,732
IM 与 PHP 关系不佳,非常感谢任何帮助
另外一些列是空的,日期是 2020 年 1 月 23 日,我认为这就是导致问题的原因
错误:number_format() 期望参数 1 为双精度,
中给出的数组
错误:内爆():传递的参数无效
<?php
require_once 'SimpleXLSX.php';
if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) {
echo '<table border="1" cellpadding="3" style="border-collapse: collapse">';
foreach( $xlsx->rows() as $r ) {
$x = number_format($r);
echo '<tr><td>'.implode('</td><td>', $x ).'</td></tr>';
}
echo '</table>';
// or $xlsx->toHTML();
} else {
echo SimpleXLSX::parseError();
}
?>
您没有正确使用 number_format() 函数。从 -
更改以下代码
$x = number_format($r);
到
$x = number_format($r, 0, ".", ",");
有关详细信息,请访问 PHP number_format
编辑
正如您提到的,您的行可能有不同类型的值,最好检查数字值。
试试这个代码
<?php
require_once 'SimpleXLSX.php';
if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) {
echo '<table border="1" cellpadding="3" style="border-collapse: collapse">';
foreach( $xlsx->rows() as $rowValue ) {
echo "<tr>";
// As $rowValue is an array
foreach($rowValue as $value){
// Check for number_format
if(is_numeric($value)){
$x = number_format($value, 0, ".", ",");
echo "<td>".$x."</td>";
}else{
echo "<td>".$value."</td>";
}
}
echo "</tr>";
}
echo "</table>";
// or $xlsx->toHTML();
} else {
echo SimpleXLSX::parseError();
}
希望这些能解决您的问题。
ty mail2bapi, :)
我在代码中使用 SimpleXLSX
和下面的示例脚本我添加了这个 $x = number_format($r);
只需要数字有千位分隔符 252252732 到 252,252,732
IM 与 PHP 关系不佳,非常感谢任何帮助
另外一些列是空的,日期是 2020 年 1 月 23 日,我认为这就是导致问题的原因
错误:number_format() 期望参数 1 为双精度,
中给出的数组错误:内爆():传递的参数无效
<?php
require_once 'SimpleXLSX.php';
if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) {
echo '<table border="1" cellpadding="3" style="border-collapse: collapse">';
foreach( $xlsx->rows() as $r ) {
$x = number_format($r);
echo '<tr><td>'.implode('</td><td>', $x ).'</td></tr>';
}
echo '</table>';
// or $xlsx->toHTML();
} else {
echo SimpleXLSX::parseError();
}
?>
您没有正确使用 number_format() 函数。从 -
更改以下代码$x = number_format($r);
到
$x = number_format($r, 0, ".", ",");
有关详细信息,请访问 PHP number_format
编辑
正如您提到的,您的行可能有不同类型的值,最好检查数字值。
试试这个代码
<?php
require_once 'SimpleXLSX.php';
if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) {
echo '<table border="1" cellpadding="3" style="border-collapse: collapse">';
foreach( $xlsx->rows() as $rowValue ) {
echo "<tr>";
// As $rowValue is an array
foreach($rowValue as $value){
// Check for number_format
if(is_numeric($value)){
$x = number_format($value, 0, ".", ",");
echo "<td>".$x."</td>";
}else{
echo "<td>".$value."</td>";
}
}
echo "</tr>";
}
echo "</table>";
// or $xlsx->toHTML();
} else {
echo SimpleXLSX::parseError();
}
希望这些能解决您的问题。