使用PHP

时间:2016-09-16 15:18:21

标签: php phpexcel fopen password-protection

我有一个有密码的excel(当你打开它时,它会要求输入密码)。我想打开它并将其保存到新文件夹。假设我的脚本没有密码:

    <?php

    $url = 'http://localhost/1472742721137_Book1.xlsx';
    $destination_folder = $_SERVER['DOCUMENT_ROOT'].'/YOLO/';


        $newfname = $destination_folder .'Book1.xlsx'; //set your file ext

        $file = fopen ($url, "rb");

        if ($file) {
          $newf = fopen ($newfname, "a"); // to overwrite existing file

          if ($newf)
          while(!feof($file)) {
            fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );

          }
        }

        if ($file) {
          fclose($file);
        }

        if ($newf) {
          fclose($newf);
        }

    ?>

如何在fopen功能中提及该文件的密码?它必须只有一行才能做到这一点。

否则,我将不得不使用PHPExcel,但这是我想要避免的,因为它会给我带来很多错误,即使我试图让它适用于非受保护的excel文件。

我的步骤:

a)我下载了文件并从github中提取出来。

b)然后我添加了这个脚本:

<?php

include '/Classes/PHPExcel.php';

$url = '1472742721137_Book1.xlsx';
$destination_folder = $_SERVER['DOCUMENT_ROOT'].'/YOLO/';

$reader = PHPExcel_IOFactory::createReaderForFile($url);
$reader->setReadDataOnly(true);
$workbook = $reader->load($url);
$objWriter->save($destination_folder);

?>

c)我收到了这个错误:

enter image description here

UPD:

我最终让脚本工作了。现在,我只需添加将获取密码的行。该文件有一个密码,我需要在我的脚本中添加,以便打开它然后保存(没有密码)。

enter image description here

我的剧本:

<?php

include '/Classes/PHPExcel.php';

$url = 'AAAAA.xlsx';
$destination_folder = $_SERVER['DOCUMENT_ROOT'].'/YOLO/';

$fileType=PHPExcel_IOFactory::identify($url);
$objReader = PHPExcel_IOFactory::createReader($fileType);

$objReader->setReadDataOnly(true);   
$objPHPExcel = $objReader->load($url);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType);
$objWriter->save($destination_folder.'/output.xlsx');

?>

1 个答案:

答案 0 :(得分:-1)

如果您只使用Excel文件,我建议使用PHPExcel模块,available here 您可以打开密码保护的工作表,因为我认为1.8.0版本