php从数据库导出csv格式的Excel表格是,字段本身就有逗号怎么办?说在字段上加双引号,但加在哪??

如下代码,加在$cv,$data[$key]上都不行??怎么办求大神解救//导出xls开始if(!empty($title)){foreach($titleas$k=>$... 如下代码,加在$cv,$data[$key]上都不行??怎么办求大神解救 //导出xls 开始 if (!empty($title)){ foreach ($title as $k => $v) { $title[$k]=iconv("UTF-8", "GB2312",$v); } $title= implode("\t", $title); echo "$title\n"; } if (!empty($data)){ foreach($data as $key=>$val){ foreach ($val as $ck => $cv) { $data[$key][$ck]=iconv("UTF-8","GB2312",$cv); } $data[$key]=implode("\t",$data[$key]); } echo implode("\n",$data); } 展开
 我来答
阳光上的桥
2018-10-27 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65812
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
$data[$key]=implode("\t",$data[$key]);
你的程序用这个语句把一行数组转换为TAB分割的字符串,这样EXCEL是可以打开的,只是不完全符合CSV的规则(逗号分开),要改为逗号分开,而且每个字段要用引号,该语句修改为下面这样既可:
$data[$key]='"' . implode('","',$data[$key]) . '"';
曾寅彪
2018-11-02 · TA获得超过1853个赞
知道大有可为答主
回答量:2514
采纳率:86%
帮助的人:654万
展开全部
需要自己去手动重置才能正常显示,自己也不太清楚原因,琢磨后通过以下两种方式解决。
$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’;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式