php从数据库导出csv格式的Excel表格是,字段本身就有逗号怎么办?说在字...
发布网友
发布时间:2022-04-30 02:22
我来回答
共2个回答
热心网友
时间:2022-04-09 13:20
$data[$key]=implode("\t",$data[$key]);
你的程序用这个语句把一行数组转换为TAB分割的字符串,这样EXCEL是可以打开的,只是不完全符合CSV的规则(逗号分开),要改为逗号分开,而且每个字段要用引号,该语句修改为下面这样既可:
$data[$key]='"' . implode('","',$data[$key]) . '"';
热心网友
时间:2022-04-09 14:38
需要自己去手动重置才能正常显示,自己也不太清楚原因,琢磨后通过以下两种方式解决。
$objPHPExcel->getActiveSheet(0)->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
1
第一种方法:不知道是不是因为数据本身是字符串的原因,设置格式改为自定义数字类型后可以了。
$objPHPExcel->getActiveSheet(0)->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
1
第二种方法:在插入数据时设置格式。
$objPHPExcel->setActiveSheetIndex ( 0 )->setCellValueExplicit('B'.($i + 1),$orders['order_list'][$i-1]['order_sn'],PHPExcel_Cell_DataType::TYPE_STRING);
1
以下是具体代码:
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’;