JSN Экспорт унифицированных представлений в Word? - PullRequest
0 голосов
/ 25 февраля 2020

Я хотел бы сделать возможным экспортировать JSN Uniform (расширение Joomla) в документ Word. Теперь расширение предлагает экспорт в xls, csv, pdf.

В коде я копирую и вставляю строки кода csv и немного изменяю. Он создает документ Word, но не английские sh символы не закодированы правильно.

Не могли бы вы мне помочь, пожалуйста?

if (isset($getData['e']) && $getData['e'] == "excel")
    {
        include_once JSN_UNIFORM_LIB_PHPEXCEL;
        // generate file (constructor parameters are optional)
        $xls = new Excel_XML('UTF-8', false, 'JSN UniForm submission data');
        $xls->addArray($data);
        $xls->generateXML('jsn-uniform-' . $this->_infoForm->form_title . '-excel-' . date("Y-m-d"));
        exit();
    }
    else if (isset($getData['e']) && $getData['e'] == "word")
    {
        $fileName = 'jsn-uniform-' . $this->_infoForm->form_title . '-word-doc-' . date("Y-m-d");
        $fileName = preg_replace('/[^aA-zZ0-9\_\-]/', '', $fileName);
        header("Content-Type: application/octet-stream; charset=UTF-8");
        header("Content-Disposition: attachment; filename={$fileName}.doc");
        $output = fopen('php://output', 'w');
        echo '<table border="1">';

    foreach( $data as $items )
        {
        echo '<tr>';
        foreach( $items as $key )
            {
        echo '<td>'.$key.'</td>';
            }
        echo '</tr>';
        }
        echo '</table>';

        fclose($output);
        exit();
    }
    else if (isset($getData['e']) && $getData['e'] == "csv")
    {
        $fileName = 'jsn-uniform-' . $this->_infoForm->form_title . '-csv-' . date("Y-m-d");
        $fileName = preg_replace('/[^aA-zZ0-9\_\-]/', '', $fileName);
        header("Content-Type: application/octet-stream; charset=UTF-8");
        header("Content-Disposition: attachment; filename={$fileName}.csv");
        $output = fopen('php://output', 'w');
        foreach ($data as $items)
        {
            fputcsv($output, $items);
        }
        fclose($output);
        exit();
    }
...