【问题标题】:Perserving newline characters in PHPExcel在 PHPExcel 中保留换行符
【发布时间】:2013-07-27 19:34:39
【问题描述】:

我正在尝试使用 PHPExcel 创建一个 Excel 文件。源数据是一个关联数组,每个关联数组存储一个名称和地址:

Array
(
    [0] => Array
        (
            [name] => Joe Bloggs
            [address] => 10 Main St 
Bayside 
Big Town ABC123
    )

    [1] => Array
        (
            [name] => Mary Bloggs
            [address] => 18 Bridge St
Riverside
Small Town XYZ987
        )
    :
    :
)

如您所见,地址包含换行符。我正在使用 PHP 使用以下代码将此数据写入 Excel 文件:

$phpExcel = new PHPExcel();

$phpExcel->setActiveSheetIndex(0);
$phpExcel->getActiveSheet()->getCell('A1')->setValue("Name");
$phpExcel->getActiveSheet()->getCell('B1')->setValue("Address");
$index = 2;
foreach($rows as $row) {
    $phpExcel->getActiveSheet()->getCell('A'.$index)->setValue($row["name"]);
    $phpExcel->getActiveSheet()->getCell('B'.$index)->setValue($row["address"]);
    $index++;
}
$objWriter = PHPExcel_IOFactory::createWriter($phpExcel, 'Excel2007');
$filename = "outputs/excel/data.xlsx";
$objWriter->save($filename);

但是,生成的 Excel 文件不包含我想保留的换行符。

Name         Address
Joe Bloggs   10 Main St Bayside Big Town ABC123
Mary Bloggs  18 Bridge St Riverside Small Town XYZ987
...

来自 PHPExcel 网站中的comments,似乎应该可以做到这一点,但我不知道如何做到这一点。

谁能帮助我?谢谢。

【问题讨论】:

    标签: php phpexcel


    【解决方案1】:

    您使用“\n”作为返回字符;并且需要将一个单元格设置为wrap

    $objPHPExcel->getActiveSheet()
        ->getCell('A1')
        ->setValue("First line\nSecond Line\nThird Line");
    $objPHPExcel->getActiveSheet()
        ->getStyle('A1')
        ->getAlignment()
        ->setWrapText(true);
    

    如开发者文档第 4.6.6 节所述

    【讨论】:

      【解决方案2】:

      试着用这个代替“\n”:

      $lfcr = chr(10) . chr(13);
      

      然后用 $lfcr 替换所有地方的“\n”,如下所示:

      setValue("First line". $lfcr . "second Line" . $lfcr . "Third Line");
      

      【讨论】:

        猜你喜欢
        • 2013-11-10
        • 2015-08-16
        • 2012-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-21
        • 1970-01-01
        相关资源
        最近更新 更多