0

ユーザーにExcelファイルを読み取り専用モードで保存/ダウンロードさせようとしています(Windowsサーバー上のApache、ダウンロードするすべてのユーザーはWindowsを使用しています)。

これまでのところ、私は良い解決策を探し回り、提案されたすべてを試しましたが、何も機能していないようです.

次の行を追加してみました:

$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);

それでも編集可能なモードで保存しています。ここで何か不足していますか?

上記の目標が phpexcel を使用して達成されるソリューションを希望しますが、コア php の使用も許容されます。

phpexcel コア クラスの変更が必要なものは受け入れられません。これは、組織内の他の開発者によって開発されたアプリケーションが大量にあり、コア クラスが変更されていないと想定しているからです。

4

3 に答える 3

2

パスワードを設定せずに方法が見つかりませんでした。

// Set password for readonly activesheet
$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->getSecurity()->setLockStructure(true);
$objPHPExcel->getSecurity()->setWorkbookPassword("password");

// Set password for readonly data
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
$objPHPExcel->getActiveSheet()->getProtection()->setPassword("password");
于 2013-12-17T06:56:56.323 に答える
0

このコードは、セルの値を編集してフォーマットすることで機能しました。

$objPHPExcel->getActiveSheet()->getProtection()->setSort(true);
$objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true);
$objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true);
于 2016-05-06T10:07:51.167 に答える