我有一个.net c#应用程序,我可以在按钮点击下载一个excel文件。 使用的代码是
using NPOI.HSSF.UserModel;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
然后是一些代码。
HSSFWorkbook book = new HSSFWorkbook();
var sheet = book.CreateSheet("StatusReport");
用于格式化excel的一些代码,然后是用于下载excel的一些代码。
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Charset = "utf-16";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1250");
HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "MpiDischargeReport.xls"));
HttpContext.Current.Response.ContentType = "application/ms-excel";
book.Write(HttpContext.Current.Response.OutputStream);
HttpContext.Current.ApplicationInstance.CompleteRequest();
这将帮助我下载excel,但我需要将excel作为密码保护的。 请帮忙。
答案 0 :(得分:2)
这不适用于1.2.5可能在2.0中工作 试试
var sheet = book.CreateSheet("StatusReport");
sheet.ProtectSheet("Password");
答案 1 :(得分:1)
NPOI是POI-Java-Libary的.net克隆。所以我查看了“HSSFWorkbook”类的POI文档:
http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html
正如您所看到的,有一种名为“writeProtectWorkbook”的方法可用于密码保护工作簿。
另请查看“HSSFSheet”类的文档:
http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFSheet.html
正如您所看到的,有一种名为“protectSheet”的方法可用于密码保护工作表。
我从未尝试过。但它可以帮助吗?