php - 将excel从mysql数据导出到php中具有大量数字的excel文件
问题描述
使用此代码工作正常: 有时在导出 excel 文件时,您会遇到此问题。 示例:8001114051777785 但转换为 8,00111E+15
public function export_excel(){
header("Content-Type: application/xls");
header('Content-Disposition: attachment;filename="order_code_'.date('d_m_Y_His').'.xls"');
$header=array('Order ID', 'Email','Create Time');
$this->db->select('orders_id, customer_email, create_time');
$this->db->from('table');
$this->db->order_by('orders_id', 'ASC');
$this->db->limit(100);
$referrerdata = $this->db->get()->result();
$sep = "\t"; //tabbed character
foreach ($header as $h){
echo trim($h) . "\t";
}
print("\n");
foreach($referrerdata as $data){
$schema_insert = " ";
$schema_insert .=isset($data->orders_id) ? " ' ".(string)$data->orders_id.$sep:"NULL".$sep;
$schema_insert .=isset($data->customer_email) ? $data->customer_email.$sep:"NULL".$sep;
$schema_insert .=isset($data->create_time) ? $data->create_time.$sep:"NULL".$sep;
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
$schema_insert .= "\t";
print(trim($schema_insert));
print "\n";
}
}
解决方案
Excel 自动将大数字格式化为科学记数法,强制 Excel 使用文本格式,像这样在 ID 前添加撇号'8001114051777785
推荐阅读
- ssh - ubuntu 19.10 上 git 访问 ssh-add 的无效密钥格式
- azure - 我的 Azure SQL 备份(地理位置)在哪里?
- netlogo - NetLogo 监视器报告器的问题不会显示正确的值
- processing - 椭圆冒泡排序
- javascript - 引用 JS 内部的表单字段不起作用
- python - 终端服务器 Netmiko 连接
- python - 使用 Haswell CPU 的 Python 中的 FLOPS(英特尔酷睿处理器(Haswell,无 TSX))
- c - 数组的单个括号中的嵌套索引
- terraform - 迭代 terraforms 0.12.23 中的 json 对象列表
- python-3.x - 将图像转换为特定尺寸的矩阵?