EasyXLS

How to protect Excel file with password in PHP

<?php

/*=============================================================================
| Tutorial 27
|
| This tutorial shows how to create an Excel file in PHP and
| encrypt the Excel file by setting the password required for opening the file.
* =============================================================================*/
Click here to see the Excel file

header("Content-Type: text/html");

echo "Tutorial 27<br>";
echo "----------<br>";

// Create an instance of the class that exports Excel files
$workbook = new COM("EasyXLS.ExcelDocument");

// Create two worksheets
$workbook->easy_addWorksheet_2("First tab");
$workbook->easy_addWorksheet_2("Second tab");

// Set the password for protecting the Excel file when the file is open
$workbook->easy_getOptions()->setPasswordToOpen("password");

// Export Excel file
echo "Writing file: C:\Samples\Tutorial27.xls<br>";
$workbook->easy_WriteXLSFile("C:\Samples\Tutorial27.xls");

// Confirm export of Excel file
if ($workbook->easy_getError() == "")
    echo "File successfully created.";
else
    echo "Error encountered: " . $workbook->easy_getError();

// Dispose memory
$workbook->Dispose();
$workbook = null;

?>

Overloaded methods
For methods with same name but different parameters, only the first method overload retains the original name. Subsequent overloads are uniquely renamed by appending to the method name '_2', '_3', etc (method, method_2, method_3), an integer that corresponds to the order of declaration that can be found in EasyXLS.h, a file that comes with EasyXLS installation.

Linux and PHP
This code sample works just the way it is for PHP on Windows, but PHP under Linux requires also PHP/Java Bridge and a similar code sample in Java.

EasyXLS Excel libraries:

.NET
Excel Library for PHP
full COM+ version to import, export or convert Excel files
Excel Writer for PHP
COM+ version to create and export Excel files
Download EasyXLS™ Excel Library for PHP

File formats:

MS Excel 97 - 2003
MS Excel 2007 - 2010
MS Excel 2013
MS Excel 2016
MS Excel 2019
XLSX XLSM XLSB XLS
XML HTML CSV TXT