使用PEAR从数据库提取的Excel文件中的前导零

Leading zeros in an extracted Excel file from database using PEAR

本文关键字:文件 Excel 数据库 提取 使用 PEAR      更新时间:2023-09-26

在我的网站的管理部分有一个按钮,从我的数据库中提取数据的Excel文件。实际上,它是在使用PEAR单击按钮时创建的Excel文件。我使用SQL查询从我的SQL Server 2008数据库中获取必要的信息。

其中一个名为'number1'的列包含一个范围为1-9999的数字。我一直在寻找一种方法,当它没有4位数的时候,在数字前面加0,但直到现在我还没有运气。例如,如果数据库中的数字是12,我希望它在Excel工作表中显示为0012。

目前使用的代码如下:

if ($j == 15){
$worksheet->write($variable1, $j , $variable2[$i][$j], $text222);
    }
where $variable1 = 0; $variable2 = ("my sql query")

谢谢你的帮助。

编辑:回答(S)

$number = str_pad($value, 4, '0', STR_PAD_LEFT);

JAGAnalyst的答案,即我在代码中实际使用的答案。

或者,您也可以编辑您的SQL查询以返回一个四个字符的文本字符串而不是一个数字,包括替换函数,即

, CASE
WHEN Len(number1) = 1 THEN '000' + CAST(number1 AS VARCHAR(4))
WHEN Len(number1) = 2 THEN '00' + CAST(number1 AS VARCHAR(4))
WHEN Len(number1) = 3 THEN '0' + CAST(number1 AS VARCHAR(4))
ELSE CAST(number1 AS VARCHAR(4))
END AS NEW

这实际上会改变提取的值,而不是简单地改变格式。