Home >Backend Development >PHP Tutorial >php导出excel如何处理使得表格数字值前面的0不被去掉

php导出excel如何处理使得表格数字值前面的0不被去掉

WBOY
WBOYOriginal
2016-06-06 20:49:512268browse

如题,php导出excel如何处理使得表格数字值前面的0不被去掉

回复内容:

如题,php导出excel如何处理使得表格数字值前面的0不被去掉

我不会PHP,通Excel,只要0前加一小撇“'”(数字状态下的)就欧了。 也就是说:用简单的方法,Excel中的数字转文本就是加“'”,明白?!

1. 设置格式

<code>CellStyle csnumber = wb.createCellStyle();
csnumber.setDataFormat(df.getFormat("#,##0.00"));
</code>

2. 使用字符串

<code>cellValue = rs.getObject(xxxxx).toString();
</code>

3. 设置

<code>c.setCellStyle(csnumber);   // 格式
c.setCellValue(cellValue);
</code>

没尝试过用 PHP 导出 Excel ,也许你可以尝试把带前置 0 的数字值转换成字符串交给 excel
excel 总是会把数字的前置 0 去掉,但要是第一个字符是 0 的字符串,就没有这个问题了

用 PHPExcel 的话,赋值时使用 PHPExcelCellDataType::TYPE_STRING 参数

<code>$objActSheet->setCellValueExplicit($key, $value, PHPExcel_Cell_DataType::TYPE_STRING);
</code>

将它变成字符串。

将空隔与变量相连就行了。 ' '.$number;

“首先,我们了解一下excel从web页面上导出的原理。当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认的格式去呈现该cell的数据。这样就给我们提供了自定义数据格式的空间,当然我们必须使用excel支持的格式。下面就列出常用的一些格式:
1) 文本:vnd.ms-excel.numberformat:@
2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
3) 数字:vnd.ms-excel.numberformat:#,##0.00
4) 货币:vnd.ms-excel.numberformat:¥#,##0.00
5) 百分比:vnd.ms-excel.numberformat: #0.00%

这些格式你也可以自定义,比如年月你可以定义为:yy-mm等等。那么知道了这些格式,怎么去把这些格式添加到cell中呢?很简单,我们只需要把样式添加到对应的标签对(即闭合标签)即可。如

,给标签对添加样式,如下: <td style="vnd.ms-excel.numberformat:@">410522198402161833</td>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn