2016-09-01 2 views
1

Я генерирующий Excel файл с ..Pear-Spreadsheet_Excel_Writer-0.9.3Только для чтения файлов с грушей-Spreadsheet_Excel_Writer

Мой файл генерируется без каких-либо ошибок, но это в < Read Only-> Режим

Я исследовал, но не смогли найти результат, кроме, разрешения на моих локальных папках, где отличившимся выход хранится, я попробовал все CHMOD вещи, но все-таки файл генерируется в режиме только для чтения. Я хочу отключить этот режим только для чтения.

образец кода ....

<?php 

    require_once 'Spreadsheet/Excel/Writer.php'; 
    $workbook = new Spreadsheet_Excel_Writer('/tmp/yXcel.ods'); 

    //$workbook->setTempDir('/tmp/'); 
    $format_bold =& $workbook->addFormat(); 
    $format_bold->setBold(); 

    $format_title =& $workbook->addFormat(); 
    $format_wrap =& $workbook->addFormat(); 
    $format_title->setBold(); 
    $format_title->setColor('yellow'); 
    $format_title->setPattern(10); 
    $format_title->setFgColor('blue'); 
    // let's merge 
    $format_title->setAlign('merge'); 
    $format_wrap->setTextWrap(2); 

    $format_top =& $workbook->addFormat(); 
    $format_top->setAlign('top'); 
    $format_top->setTextWrap(1); 

    // center the text horizontally 
    $format_center =& $workbook->addFormat(); 
    $format_center->setAlign('center'); 

    // put text at the top and center it horizontally 
    $format_top_center =& $workbook->addFormat(); 
    $format_top_center->setAlign('top'); 
    $format_top_center->setAlign('center'); 



    $worksheet =& $workbook->addWorksheet(); 
    $worksheet->write(0, 0, "Title with Merged Cells", $format_title); 
    // Couple of empty cells to make it look better 
    $worksheet->write(0, 1, "", $format_title); 
    $worksheet->write(0, 2, "", $format_title); 
    $worksheet->write(0, 3, "", $format_title); 
    $worksheet->write(1, 0, "Quarter", $format_bold); 
    $worksheet->write(1, 1, "Profit", $format_bold); 
    $worksheet->write(2, 0, "Q1asddddddddddddddddddddddddd",$format_wrap); 
    $worksheet->write(2, 1, 2205,$format_top_center); 
    $worksheet->write(3, 0, "Q2",$format_wrap); 
    $worksheet->write(3, 1, 3305,$format_top); 

    //$workbook->send('test1.xls'); 
    $workbook->close(); 
    ?> 

Я решил ее

chmod('/tmp/yXcel.ods',0777) 

Still, Любая помощь будет высоко ценится, спасибо!

ответ

1

< только для чтения> Режим

Excel таблица не имеет "только для чтения" режим. Основная часть таблицы отчетов Excel или LibreOffice как доступная только для чтения, как правило, связана с разрешениями на распространение листового файла (или владением этим файлом), которые могут просто блокировать запись, но не читать. После того, как вы загрузите/скопируете файл в нужное вам место, вы также сможете его отредактировать. Если все еще нет, убедитесь, что разрешение файла также не мешает ему.

+0

Я уже упоминал, что я пробовал все вещи CHMOD, но не смог добиться успеха. Однако я решил это с помощью функции PHP chmod(). Спасибо ! – Hytool

+0

не уверен, что на самом деле означает «вещи CHMOD», но если chmod помог, значит, ваших прав было недостаточно для написания. Тем не менее, 'chmod 777' - это не исправление, а плохое обходное решение. и это плохо, потому что предоставление '7'' миру' не является хорошей практикой. –

Смежные вопросы