网页导出EXCEL格式数据,长数字变为科学计数法的解决方法

本文介绍如何使用PHP从网页导出包含长数字的表格为Excel格式,并解决长数字在Excel中显示为科学计数法的问题。通过设置header及应用特定样式表,确保数据完整无损。
部署运行你感兴趣的模型镜像
通过声明header的方法,可以从页面将表格导出成为EXCEL格式,header的声明方法如下:
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment; filename=xxx.xls");

但是如果数据中存在长数字,例如600902000005643612,导出后会自动变为科学计数法表示为6.00902E+17,数字也变为600902000005643000,后面几位全部变为0丢失,可以将有问题的字段采用以下样式表风格解决:
<style type="text/css">
<!--
xxx {
mso-number-format:"/@";
}
-->
</style>

转载于:https://www.cnblogs.com/liancs/archive/2010/10/27/3879326.html

您可能感兴趣的与本文相关的镜像

EmotiVoice

EmotiVoice

AI应用

EmotiVoice是由网易有道AI算法团队开源的一块国产TTS语音合成引擎,支持中英文双语,包含2000多种不同的音色,以及特色的情感合成功能,支持合成包含快乐、兴奋、悲伤、愤怒等广泛情感的语音。

解决 SQL 数据导出 HTML 文件时数字变为科学计数法的问题上,可参考处理导出 Excel 等文件类似问题的思路。 若在 SQL 语句层面处理,可借鉴导出 Excel 时对数据源处理的方法。如在 SQL Server 中,当遇到字符串类型的数据全部为数字导出后会显示科学计数法,可在 SQL 语句里对数据源做处理,像加英文单引号或不显示的制表符。示例代码如下: ```sql -- 加英文单引号 SELECT B = '''' + CAST(B AS NVARCHAR(MAX)) FROM Package; -- 加制表符 SELECT B = CAST(B AS NVARCHAR(MAX)) + CHAR(9) FROM Package; ``` 这里将字段 `B` 转为 `NVARCHAR(MAX)` 类型,以确保能正确拼接单引号或制表符,避免数字科学计数法显示。 对于 Oracle 数据库,可参照导出 CSV 文件时的处理方式,在查询字段时进行特定处理。示例代码如下: ```sql SELECT '"="' || TO_CHAR(PK_MSGINFO) || '"' as PK_MSGINFO, BILLTYPE, '"="' || TO_CHAR(PK_BILL) || '"' as PK_BILL, MSGTYPE, '"="' || TO_CHAR(PROCESSID) || '"' as PROCESSID, '"="' || TO_CHAR(WORKITEMID) || '"' as WORKITEMID, OPERATOR, '"="' || TO_CHAR(PK_OPER) || '"' as PK_OPER, '"="' || TO_CHAR(OPERUNITCODE) || '"' as OPERUNITCODE, OPERUNIT, OPERSTATE, AUDIT_TIME, AUDIT_RESULT, AUDIT_OPINION, DR, CREATIONTIME FROM "BAS_MSGINFO" WHERE MSGTYPE = 1; ``` 此代码把数字字段用 `TO_CHAR` 函数转为字符串,再用特定格式拼接,防止导出 HTML 文件时数字变为科学计数法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值