PhpExcel新细胞系

时间:2017-05-07 17:10:31

标签: php phpexcel phpoffice

我的所作所为:

  1. 从db
  2. 查询数据
  3. 爆炸数据并插入\ n
  4. 准备阵列
  5. open tamplate
  6. 将数组插入到tamplate
  7. 尝试用新行替换\ n
  8. 如何找到\ n并插入新行?例如,我在A1中有下一个文本“One \ nTwo”。我从A1

    中读到了文字
    $ltr='A1';
    $vle=$spreadsheet->getActiveSheet()->getCell($ltr);
    

    在此之后,我尝试在A1中再次在A1中插入文本,并用一个单元格中的新行替换\ n

    $spreadsheet->getActiveSheet()->getCell($ltr)->setValue("${vle}");
    $spreadsheet->getActiveSheet()->getStyle($ltr)->getAlignment()->setWrapText(true);
    

    但它不适用于我的。

    例如: enter image description here

    所以,如果我用文本打开tamplate,我不能替换单元格中的\ n。我该怎么办?

    更新。我尝试使用char(10)并插入公式(例如)="hello"&char(10)&"world"但仅插入="hello"&char(10)

2 个答案:

答案 0 :(得分:0)

当我爆炸/内爆str并插入\ n时,我使用''。需要使用""

implode("\n", $array);

答案 1 :(得分:0)

如果您在 Moodle Excel 应用程序中使用 MoodleExcelWorkbook 类并且您想在单元格中设置自动换行/换行,请使用如下代码:

require_once $CFG->libdir . '/excellib.class.php';
$workbook = new \MoodleExcelWorkbook("-");
$workbook->send('YOUR_FILE_NAME.xlsx');
$worksheet = $workbook->add_worksheet('YOUR_SHEET_NAME');
/* do your some stuff here */
/* make 'text_wrap' => true in $format attribute */
$worksheet->write_string(1/*row*/, 1/*col*/, 'YOUR_VALUE', ['text_wrap' => true]);
$workbook->close();