密码保护的Excel使用EPPLUS下载

pre*_*ain 5 c# asp.net-mvc asp.net-mvc-4 epplus

我使用EPPLUS Excel库以Excel格式导出数据.我希望当excel下载时会询问密码.我试过以下代码.

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();
}
Run Code Online (Sandbox Code Playgroud)

Ern*_*e S 17

只需要使用.Save带密码的重载作为选项:

package.Save("password");
Run Code Online (Sandbox Code Playgroud)

回应评论

要通过byte数组保存时应用密码,它非常相似:

Byte[] bin = pck.GetAsByteArray("password");
System.IO.File.WriteAllBytes(fullFilePath, bin);
Run Code Online (Sandbox Code Playgroud)


Tua*_*ran 5

它没有记录在案,但您可以执行以下操作:

package.Encryption.Password = "your password here";
Run Code Online (Sandbox Code Playgroud)

然后为您的包裹提供Save()GetAsByteArray()您选择的服务