Php 带Pear-Spreadsheet\u Excel\u Writer的只读文件

Php 带Pear-Spreadsheet\u Excel\u Writer的只读文件,php,excel,spreadsheet,pear,Php,Excel,Spreadsheet,Pear,我正在使用..Pear-Spreadsheet\u Excel\u Writer-0.9.3生成Excel文件 我的文件生成时没有任何错误,但处于模式 我研究了一下,但是没有找到结果除了, 对存储excel输出的本地文件夹的权限, 我尝试了所有CHMOD方法,但仍然以只读模式生成文件。 我想禁用此只读模式 示例代码是 <?php require_once 'Spreadsheet/Excel/Writer.php'; $workbook = new Spreads

我正在使用..Pear-Spreadsheet\u Excel\u Writer-0.9.3生成Excel文件

我的文件生成时没有任何错误,但处于<只读>模式

我研究了一下,但是没有找到结果除了, 对存储excel输出的本地文件夹的权限, 我尝试了所有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(); 
    ?>
不过,任何帮助都将不胜感激,谢谢

<只读>模式


Excel电子表格没有“只读”模式。Excel或LibreOffice reporting sheet的主报表为只读,通常与电子表格文件权限(或该文件的所有权)相关,该权限可能只是阻止写入,而不是读取。一旦下载/复制文件到您拥有的位置,您也应该能够对其进行编辑。如果仍然没有,请确保文件权限也没有阻止它。

我已经提到,我尝试了所有CHMOD方法,但没有成功。但是,我通过PHP的chmod()函数解决了这个问题。非常感谢。不确定CHMOD things的真正含义是什么,但如果CHMOD有帮助,那么您的权限似乎不足以编写。尽管如此,
chmod777
并不是一个修复方案,而是一个糟糕的解决方案。这是不好的,因为把
7
交给
world
不是好的做法。
 chmod('/tmp/yXcel.ods',0777)