我有一个有密码的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)我收到了这个错误:
UPD:
我最终让脚本工作了。现在,我只需添加将获取密码的行。该文件有一个密码,我需要在我的脚本中添加,以便打开它然后保存(没有密码)。
我的剧本:
<?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');
?>