phpexcel 导出 科学计数问题

摘要:
今天,我在使用PHP导出Excel时遇到了一个小问题。例如,图形单元的默认格式是常规格式。如果该值太长,它将成为一个科学计数。然而,有一个小错误。当您打开Excel查看并双击要查看的单元格时,当字段失去焦点时,该单元格将再次成为科学计数。因此,此修改仅将输出内容临时更改为文本格式,但单元格格式尚未修改。这只能解决暂时的需要,而不是长期的解决方案。添加上述两段代码以生成excel。右键单击鼠标以设置单元格格式。默认文本格式正确。

今天在用php做excel导出的时候遇到了一个小问题,如图

phpexcel 导出 科学计数问题第1张

单元格默认格式为常规格式,当数值过长时就会变成科学计数。

解决方法:

如果输出的excel的$data数据是手动添加的,那就在对应值得后面添加一个空格,这样的话输出的值就会转换成文本格式.

如果是从数据库读取的话那么把查找的字段稍作修改:

Concat(param," ") as param

这样的话输出的excel就是文本格式的了。

但是有个小bug 当打开excel 查看双击单元格查看,然后当这个字段失去焦点的时候,此单元格又变成了科学计数,所以这种修改只是暂时的把输出的内容变成了文本格式,而单元格的格式还是没有被修改,这样做只能解决一时之需,并不是长久之计。

所以还得在代码中加上

$excel->getActiveSheet()->getStyle('C')->getNumberFormat()
  ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);

这段代码的意思是把C列所有的单元格初始化成text文本格式,这里注意我用的Thinkphp版本是3.2以上引入了命名空间所以加上了 "" ,有的版本不需要加"",视情况而定。

添加以上两段代码

生成excel

右击鼠标设置单元格格式

phpexcel 导出 科学计数问题第2张

默认就问文本格式,显示也正确。

大功告成------------------------------------------------------------------------------------------------------------------------------------------------------------

免责声明:文章转载自《phpexcel 导出 科学计数问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据库监视器(SQL Server Profilter)Android开发系列之ListView用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jmeter 读取excel数据

jmeter 读取excel数据使用的方法是使用Jmeter CSV Data Set Config参数化 但是将excel文件保存成csv格式后,jmeter读取后返回的数据总是出现乱码问题, 以下就是解决的办法: 先做一个Excel表,如下 再将excel表格保存为csv格式: 下面是使用CSV Data Set Config参数化将csv里面的数...

PDF合并

要求:将多个table导出到一个PDF里,然后打印。  问题分析:要求将四个table放一个PDF打印,四个table的列各不相同,第一个是表头,其他三个是列表,列比表头多很多,如果直接生成一个excel,然后再直接导出会发现有些列在PDF中换行了。  原因:因为excle可打印的区域是有限制的,可打印的地方如下方法可见:文件-打印-设置-打印选择区域(如...

如何通过WPS 2013 API 将Office(Word、Excel和PPT)文件转PDF文件

1.描述 PDF文件是一种便携文件格式,是由Adobe公司所开发的独特的跨平台文件格式。PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。可移植文档格式,也称为"便携文档格式",是一种电子文件格式。这种文件格式与操作系统平台无关,也就是说,PDF文件...

使用ado访问excel中的数据

【1】链接数据源(excel文件) (1)配置链接字符串: string connString = @"Provider = Microsoft.Jet.OLEDB.4.0; Extended Properties = Excel 8.0; Data Source = C:UsersBoBoDesktopstudent.xlsx"; (2)创建链...

Office办公软件操作技巧 office快捷键大全

››››F键 F1:显示「帮助」任务窗格。 F2+shift:添加或编辑单元格批注 F3+shift:显示「插入函数」对话框 F4:重复上一个命令或操作 F5+G:显示「定位」对话框 F9+ctrl:最小化窗口 F10:打开或关闭窗口 ››››ctrl键 ctrl+1:显示「设置单元格格式」 ctrl+2:应用或取消加粗格式 ctrl+3:应用或取消倾斜格...

excel 导入 sqlserver 字符串被截取为255长度解决方案

excel表格导入sqlserver数据表中 内容被截取为255长度的字符串。 注意:excel是通过前8行(表头的首行除外)的数据类型来判断导入数据的数据格式的,例如前8行出现整数型,那么默认就用整数型的数据读取方式导入数据,又例如前8行出现的是长度小于255的字符串类型,那么就会默认整列都是小于255的字符串,这样导入的时候长度大于255的字符串就会被...