问题
I am exporting data in Excel form using EPPLUS Excel Library. I want that when excel downloaded it will ask for password. I have tried following code.
FileInfo newFile = new FileInfo("sample.xlsx");
using (ExcelPackage package = new ExcelPackage(newFile)
{
ExcelWorksheet ws = package.Workbook.Worksheets.Add("demo");
ws.Cells[A1].LoadFromDataTable(dataTable, false);
package.Workbook.Protection.SetPassword("EPPLUS");
package.Save();
}
回答1:
Just need to use the .Save
overload with a password as the option:
package.Save("password");
Response To Comments
To apply a password if saving via a byte
array it is very similar:
Byte[] bin = pck.GetAsByteArray("password");
System.IO.File.WriteAllBytes(fullFilePath, bin);
回答2:
It's not documented, but you can do as following:
package.Encryption.Password = "your password here";
Then serve your package with Save()
or GetAsByteArray()
of your choice
回答3:
If you are saving the excel package into a MemoryStream (for sending as an email attachment) you have to do this:
excelPackage.SaveAs(memoryStream, "pa$$w0rd");
来源:https://stackoverflow.com/questions/35285802/password-protected-excel-download-using-epplus