在PHP中,可以使用PHPExcel库来操作Excel文件,包括加密和解密xlsx文件。以下是一个示例代码来实现xlsx文件的加密和解密:
require_once 'PHPExcel/Classes/PHPExcel.php';
require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php';
// 加密xlsx文件
$inputFileName = 'example.xlsx';
$outputFileName = 'encrypted_example.xlsx';
$password = 'password';
$excel = PHPExcel_IOFactory::load($inputFileName);
$excel->getSecurity()->setLockWindows(true);
$excel->getSecurity()->setLockStructure(true);
$excel->getSecurity()->setWorkbookPassword($password);
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
$writer->save($outputFileName);
echo 'File encrypted successfully';
// 解密xlsx文件
$inputFileName = 'encrypted_example.xlsx';
$outputFileName = 'decrypted_example.xlsx';
$password = 'password';
$excel = PHPExcel_IOFactory::load($inputFileName);
$excel->getSecurity()->setWorkbookPassword($password);
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
$writer->save($outputFileName);
echo 'File decrypted successfully';
在上面的示例中,首先加载要加密的xlsx文件,然后设置加密参数,并保存为新的加密文件。然后加载加密过的文件,设置解密参数,并保存为新的解密文件。
请注意,PHPExcel库已经不再维护,推荐使用更现代的库来操作Excel文件,如PhpSpreadsheet。