0

我使用 PhpExcel 将我的一些数据库导出到 csv 中。因为我有很多损坏的数据,所以我会检查它们并在必要时显示错误。

所以当一个字段包含我的分隔符时,我想在我的错误消息中显示(否则它会弄乱我的分页):

$objWriter = PHPExcel_IOFactory::createWriter($this->_objErrorPHPExcel, 'CSV');
    $objWriter->setDelimiter('|');
    $objWriter->setEnclosure( '' );
    $objWriter->setUseBOM( true );
    $objWriter->setPreCalculateFormulas( false );
    $objWriter->save( $strOutputFile );
    unset( $objWriter );     

当我保存我的错误消息时(对于像 em|ail@email.com 这样的电子邮件地址):

$this->$strExcelFileName->getActiveSheet()->setCellValueExplicit('F' . $intRow, $strError );

而不是保存在我的 F 单元格中

电子邮件包含“|” 特点

我结束了

电子邮件包含

在 F 中,并且

|

G中的字符。

然后,当我将电子邮件保存在电子表格中时,我遇到了同样的问题,它被分成 2 个单元格。

感谢您的时间和建议:)

4

1 回答 1

0

该解决方案由 DaveRandom 提供!:

好吧,我相当确定您的问题将与 $objWriter->setEnclosure( '' ); - 您正在指定一个空字段外壳,这意味着无法引用包含分隔符的字符串,因此显然它将被视为字段分隔符而不是文字字符。我认为你需要做类似 $objWriter->setEnclosure( '"' );

于 2012-07-31T08:39:20.693 回答