PHPExcel导出的长数字被科学计数法转换丢失数据解决
2015-08-03 15:42
579 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013126468/article/details/47257187
$objPHPExcel->getActiveSheet()->getStyle('F')->getNumberFormat()
->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
$i=1;
foreach($info as $row){
$asc2 = 65;
foreach($row as $field){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($asc2++).$i, $field);
}
$i++;
EXCEL表 F 列为长数字,如 2015072708542427700014133717 导出后会变成 201507270854242770001410000
上网搜解决方案,第一个方案为设置第 F 列为字符串形式,如下
$objPHPExcel = new PHPExcel();
//设置F列(订单号)为文本格式$objPHPExcel->getActiveSheet()->getStyle('F')->getNumberFormat()
->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
$i=1;
foreach($info as $row){
$asc2 = 65;
foreach($row as $field){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($asc2++).$i, $field);
}
$i++;
}
结果失败,可能是设置格式的时候出了什么问题。
然后继续搜索,找到第二种方式
// 操作第一个工作表
$objPHPExcel->setActiveSheetIndex(0);
$i=1;
foreach($info as $row){
$asc2 = 65;
foreach($row as $field){
$objPHPExcel->getActiveSheet()->setCellValueExplicit(chr($asc2++).$i, $field, PHPExcel_Cell_DataType::TYPE_STRING);
}
$i++;
}
设置单元格的时候指定这个数据的类型,就成功了。
相关文章推荐
- java jxl导出excel,当数字超过11位变成科学计数法,如何转换成数字问题解决方法
- 在把table表格中的数据导出到Excel的时候,以科学计数法显示位数多的数字时怎么解决?(已解决)
- php中导出数据到excel时数字变为科学计数的解决方法
- php导出csv格式数据,以及将数字转换成文本解决办法
- php中导出数据到excel时数字变为科学计数的解决方法
- 网页导出EXCEL格式数据,长数字变为科学计数法的解决方法
- 网页导出EXCEL格式数据,长数字变为科学计数法的解决方法
- 解决PHP导出Excel长数字末尾几位数为0的问题
- gridview导出excel文件且把数字类型的列转换成字符导出(防止处理成科学计数法)
- Web页面的数据导出excel时的格式问题(长数字显示为科学计数法格式等)
- 用POI导出excel时,较长的数字不想被自动变为科学计数法的解决方式
- phpExcel导出大量数据出现内存溢出错误的解决方法
- c# 导出excel 数字太长而显示为科学计数法的解决方法
- jxl导出excel提示”文件错误 可能某些数字格式已丢失“解决办法
- 解决excel导出大数字溢出或者被科学计数法格式化
- ThinkPHP 整合 PHPExcel ,数据导出功能实现,解决Invalid cell coordinate PHPExcel想必大家都不陌生,是用来操作Office Excel 文档的一个PHP
- C#导入Excel遇到数字字母混合列数据丢失解决
- phpExcel导出大量数据出现内存溢出错误的解决方法
- mysql导出csv文件excel打开后数字用科学计数法显示且低位变0的解决方法
- phpExcel导出大量数据出现内存溢出错误的解决方法