网上说将单元格格式设置为文本格式就行了,但是我用excel导出功能时,刚开始设置B列为文本格式,结果导出后excel表数字还是不正常显示。

需要自己去手动重置才能正常显示,自己也不太清楚原因,琢磨后通过以下两种方式解决。

$objPHPExcel->getActiveSheet(0)->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);

第一种方法:不知道是不是因为数据本身是字符串的原因,设置格式改为自定义数字类型后可以了。

$objPHPExcel->getActiveSheet(0)->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

第二种方法:在插入数据时设置格式。

 $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValueExplicit('B'.($i + 1),$orders['order_list'][$i-1]['order_sn'],PHPExcel_Cell_DataType::TYPE_STRING);

以下是具体代码:

require_once ‘includes/Classes/PHPExcel.php’;
require_once ‘includes/Classes/PHPExcel/Writer/Excel5.php’;
require_once ‘includes/Classes/PHPExcel/Writer/Excel2007.php’;
require_once ‘includes/Classes/PHPExcel/IOFactory.php’;

            $objPHPExcel = new PHPExcel ();$objPHPExcel->getProperties ()->setCreator ( "Maarten Balliauw" )->setLastModifiedBy ( "Maarten Balliauw" )->setTitle ( "Office 2007 XLSX Test Document" )->setSubject ( "Office 2007 XLSX Test Document" )->setDescription ( "Test document for Office 2007 XLSX, generated using PHP classes." )->setKeywords ( "office 2007 openxml php" )->setCategory ( "Test result file" );$objPHPExcel->getActiveSheet(0)->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'A1', "订单日期" );$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'B1', "订单编号" );$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'C1', "公司部门" );$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'D1', "采购员" );$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'E1', "金额" );$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'F1', "支付方式" );$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'G1', "支付状态" );$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'H1', "备注" );$filter['select_list'] = $_REQUEST['select_list'];$filter['price_format'] = 'no';$orders = get_user_orders_listTable($_SESSION['b_id'],$user_id, $filter, $page);for($i=1 ; $i <$orders['record_count']+2 ; $i++){$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'A' . ($i + 1), $orders['order_list'][$i-1]['order_time']);$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'B' . ($i + 1), $orders['order_list'][$i-1]['order_sn']);$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'C' . ($i + 1), $orders['order_list'][$i-1]['dep_name']);$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'D' . ($i + 1), $orders['order_list'][$i-1]['user_name']);if($orders['order_list'][$i-1]['orderType'] == 1){$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'E' . ($i + 1), strip_tags($orders['order_list'][$i-1]['total_fee']));}else{$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'E' . ($i + 1), strip_tags($orders['order_list'][$i-1]['back_money']));}$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'F' . ($i + 1), strip_tags($orders['order_list'][$i-1]['pay_name']));if($orders['order_list'][$i-1]['orderType'] == 1){$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'G' . ($i + 1), strip_tags($orders['order_list'][$i-1]['pay_status']));}$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'H' . ($i + 1), $orders['order_list'][$i-1]['postscript']);}$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'E' . ($i+2), '订单总金额:'.$orders['order_list_amount']);$objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'A' )->setWidth (20);$objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'B' )->setWidth (20);$objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'C' )->setWidth (10);$objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'D' )->setWidth (20);$objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'E' )->setWidth (10);$objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'F' )->setWidth (30);$objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'G' )->setWidth (10);$objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'H' )->setWidth (10);$filename = "按订单统计导出订单".date ( "Y-m-d" ) . ".xls";header ( "Pragma: public" );header ( "Expires: 0" );header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );//header ( "Content-Type: application/force-download" );//header ( "Content-Type: application/octet-stream" );//header ( "Content-Type: application/download" );header('Content-Type: application/vnd.ms-excel');header ( "Content-Disposition: attachment;filename=$filename " );header ( "Content-Transfer-Encoding: binary" );$objPHPExcel->setActiveSheetIndex ( 0 )->getPageSetup ()->setOrientation ( PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE );$objPHPExcel->setActiveSheetIndex ( 0 )->getPageSetup ()->setPaperSize ( PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4 );$objWriter = PHPExcel_IOFactory::createWriter ( $objPHPExcel, 'Excel5' );$objWriter->save ( 'php://output' );exit;

PHP导出到Excel表格 解决数字不正常显示问题相关推荐

  1. 记录~页面table数据导出到excel时,数字或字符串显示成科学计数法的解决办法

    在表格中的<td>标签中添加样式:style="mso-number-format:'\@';" <td style="width:90px;mso-n ...

  2. 导出自定义Excel表格(纯前端实现)

    导出自定义Excel表格 序: 最近做的项目涉及到了excel的导出,需要满足以下条件: 实现excel导出 兼容ie11 统计数据 修改宽高.合并单元格 修改其它样式 一.js-xlsx 介绍 xl ...

  3. 百度指数常见php框架,怎么导出数据到excel表格-如何将百度指数数据导出到Excel表格...

    如何将百度指数数据导出到Excel表格 第一步:打开CAD.CAD命令行输入"Li"."选择对象"选需要提取坐标的多段线.回车. 第二步:将CAD文本框中的数据 ...

  4. php 链接excel表格数据,php 怎么把数据导出到excel表格?php 连接 excel表格数据库数据...

    php 怎么把数据导出到excel表格 php 把数据导出到excel表多种方法如使用 phpExcel 等,以下代码是直接通 header 生成 excel 文件的代码示例: header(&quo ...

  5. php数据的导出到excel,php 数据的导出到excel表格-怎么将php数据导出excel

    怎么使用php把表格中的数据导入到excel中 下面写的一个PHP导出数据到CSV问价的函数,你到时候直接调用了 /** * 导出CSV * @param string $fileName文件名字 * ...

  6. java后台将数据导出到Excel表格

    简单粗暴直接贴代码,把所有主要代码全部糅合在一块展示出来: /**     * 设置导出xls文件的表头          */         public static final String[ ...

  7. List集合导出成Excel表格

    需要的jar包:poi-3.14.jar List集合导出成Excel表格 实体类 package job.util;/*** * @className Employee* @deprecated 导 ...

  8. POI导出读取Excel表格讲解

    文章目录 一.POI是什么? Apache POI介绍 EasyExcel介绍 二.常用信息 三.导出Excel表具体操作 1.POI-Excel写 2.大文件写数据 3.大文件写SXSSF 四.读E ...

  9. SQL Server 数据库中数据库表导出为Excel表格

    数据库操作人员经常会使用sql server 中数据导出至excel表中,其过程其实比较简单,只是有部分细节需要注意,有出现个别情况可以进行规避 处理 打开数据库,选择需要导出的数据库名,右键选择&q ...

最新文章

  1. FAST-CGI安装与使用
  2. 线性表—单向循环链表
  3. 【鸿蒙 HarmonyOS】Ability 简介 ( 简介 | 创建应用 | Page Ability 生命周期 )
  4. python测试之道进阶,Pytest-Mock 进阶用法详解
  5. Python学习笔记:进程和线程(起)
  6. OpenCV显示图片的实例(附完整代码)
  7. python 守护程序检测进程是否存在_python创建守护进程的疑问
  8. 对知识图谱的告白:斯坦福大学CS520课程介绍
  9. oracle chr()和字符连接
  10. iOS开发ARC内存管理
  11. php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
  12. 外包IT运维面临的问题及挑战
  13. C# 开发Chrome内核浏览器(WebKit.net)
  14. 将子节点中含子节点的json数据转换成ztree适合的json数据格式
  15. pytorch 安装教程
  16. 计算机模拟技术在高分子领域的应用,模拟技术的原理、方法及在高分子材料研究中的应用...
  17. Android Canvas制作一个可以拖动改变任意形状的四边形效果,并填充颜色
  18. 逻辑思维题 微信18954274246 答案
  19. WORKLIST服务
  20. 百度的链接打不开解决办法

热门文章

  1. 宇宙天体运动仿真项目c++实现
  2. Unity3D插件之TextMeshPro字体资源的制作
  3. 表格法---大整数乘法
  4. 库卡机器人计算机单元,关于kuka库卡机器人保养注意事项——库卡机器人
  5. IOS在线听书 喜马拉雅SDK开发笔记(部分)
  6. java中的(~)运算符原理
  7. 消息队列-rabbitmq原理
  8. H5+css特效源代码分享:发光分享按钮
  9. centos中安装vim
  10. 开源微信小程序-1:天天任务清单