php导出excel(xls或xlsx)(解决长数字显示问题)
2020 补充:https://www.cnblogs.com/tujia/p/11358096.html
1)demo
- $titles = array('订单号','商品结算码','合同号','供应商名称','专柜','商品名称','商品货号','商品单价','商品总价','供应商结算金额','商品数量','商品促销优惠','平台优惠抵扣','品牌订单优惠抵扣');
- //导出准备
- ob_get_clean();
- ob_start();
- echo implode("\t", $titles),"\n";
- $currencyModel = app::get('ectools')->model('currency');
- foreach ($lists as $key=>$value) {
- $row = array();
- $row['order_id'] = html_entity_decode("".$value['order_id']);
- $row['supplier_num'] = $value['supplier_num'];
- $row['agreement_code'] = $value['agreement_code'];
- $row['supplier_name'] = $value['supplier_name'];
- $row['shoppe_name'] = $value['shoppe_name'];
- $row['name'] = $value['name'];
- $row['bn'] = $value['bn'];
- $row['price'] = $value['price'];
- $row['nums'] = $value['nums'];
- $row['g_price'] = $value['g_price'];
- $row['settlement_amount'] = $value['settlement_amount'];
- $row['goods_amount_off'] = $value['goods_amount_off'];
- $row['amount_off'] = $value['amount_off'];
- $row['brand_amount_off'] = $value['brand_amount_off'];
- echo implode("\t", $row),"\n";
- }
- header('Content-Disposition: attachment; filename='.$filename);
- header('Accept-Ranges:bytes');
- header('Content-Length:' . ob_get_length());
- header('Content-Type:application/vnd.ms-excel');
- ob_end_flush();
2)格式选择
需要导出xls的话,用
- header('Content-Type:application/vnd.ms-excel');
需要导出xlsx的话,用
- header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
xls和xlsx的区别的话,是储存数据量大小的问题,xls只可以保存大概5、6w数据,xlsx可以100w左右
3)长数字完整显示解决办法
- $row['order_id'] = html_entity_decode("".$value['order_id']);
就是先拼上html 特殊字符 ,再转回去的意思
PS:这个办法,是从PHPExcel上逆回去找到的
我把PHPExcel生成的数字复制到txt文件里,再解释它是什么东东,然后就发现这个东西了
php导出excel(xls或xlsx)(解决长数字显示问题)的更多相关文章
- POI导出Excel(xls、xlsx均可以,也支持图片)——(三)
Jar包
- C# 将DataGridView中显示的数据导出到Excel(.xls和.xlsx格式)—NPOI
前言 https://blog.csdn.net/IT_xiao_guang_guang/article/details/104217491 本地数据库表中有46785条数据,测试正常 初次运行程 ...
- SQL Server 导出Excel有换行的解决方法
参考地址::https://vcoo.cc/blog/1234/ 从 SQL Server 查询结果中复制结果数据粘贴到 Excel 中存在这么个问题:如果字段内容中有换行符,那么粘贴到 Excel ...
- C# 操作 Excel(.xls和.xlsx)文件
C#创建Excel(.xls和.xlsx)文件的三种方法 .NET 使用NPOI导入导出标准Excel C# 使用NPOI 实现Excel的简单导入导出 NET使用NPOI组件将数据导出Excel-通 ...
- C# EXCEL(.xls和.xlsx)导入到数据库
C# EXCEL(.xls和.xlsx)导入到数据库 转(http://www.cnblogs.com/bart-cai/articles/2716555.html) 原理:1.判断是否是Excel ...
- python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件)
# python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件) import tkinter as tk from tkinter import filedial ...
- 使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中
using System; using System.Collections.Generic; using System.Text; using System.IO; using NPOI.SS.Us ...
- winfrom 使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中
1.通过NUGET管理器下载nopi,在引入命令空间 using System; using System.Collections.Generic; using System.Text; using ...
- POI读取Excel(xls、xlsx均可以)——(四)
maven构建的项目-->pom.xml文件 eclipse提供Dependencies直接添加依赖jar包的工具:直接搜索poi以及poi-ooxml即可,maven会自动依赖需要的jar包: ...
随机推荐
- LeetCode: Letter Combinations of a Phone Number 解题报告
Letter Combinations of a Phone Number Given a digit string, return all possible letter combinations ...
- 阅读ANSI C,寻找乐趣和裨益——const char **与char **为何不兼容
#include<stdio.h> void foo1(const char**p) { } void foo2(const char*p) { } int main(int argc,c ...
- 解决android studio项目中Failded to sync Gradle project 'XXXX' Cause:failed to find target with hash string 'android-16'问题
之前在github上通过import module导入一个项目,结果报错,提示找不到sdk相应的版本xx,而我的compileSdkVersion明明写的是23不是xx,查了半天也没解决.最后只好下载 ...
- [4G]Linux平台上实现4G通信
转自:http://blog.sina.com.cn/s/blog_7880d3350102wb92.html 在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发 ...
- protobuf--数据序列化及反序列化
ProtoBuf是一种灵活高效的独立于语言平台的结构化数据表示方法,可用于表示通信协议和数据存储等各方面,与XML相比,ProtoBuF更小更快更简单.你可以用定义自己ProtoBuf的数据结构,用P ...
- Idea创建sbt项目
这篇文章开始演示如何使用sbt新建项目. 1. 新建,选择Scala,SBT 填写项目名称,Scala版本号等信息. 单击完成后,后台会一直处于下载依赖文件的状态,等吧.. 最终后台运行完成后的完整目 ...
- python三大神器之virtualenv pip, virtualenv, fabric通称为pythoner的三大神器。
python三大神器之virtualenv pip, virtualenv, fabric通称为pythoner的三大神器. virtualenv virtualenv------用来建立一个虚拟 ...
- DataTables 固定列时实现 hover
之前说过 DataTables 表格固定栏使用方法 .分析下它的代码,如下图 它实现固定左侧的原理就是把需要固定的数据复制一份,覆盖在全部数据的上面,用绝对定位固定在左边. 这样子有个问题就是,表格的 ...
- js学习笔记21----表格操作
1.获取表格元素: tHead : 表格头 tBody : 表格主体内容 tFoot : 表格尾 rows : 表格行 cells : 表格列 如获取表格第一行第一列的数据: <script ...
- js学习笔记14----DOM概念及子节点类型
1.概念 DOM:Document Object Model---文档对象模型 文档:html页面 文档对象:页面中的元素 文档对象模型:是一种定义,为了能够让程序(js)去操作页面中的元素. DOM ...