Защищенный паролем Excel с использованием NPOI
У меня есть приложение.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, но мне нужно сделать его как защищенный паролем. пожалуйста помоги.
2 ответа
Это не работает в 1.2.5 может работать в 2.0 Попробуйте
var sheet = book.CreateSheet("StatusReport");
sheet.ProtectSheet("Password");
NPOI- это.net-клон POI-Java-Libary. Итак, я посмотрел POI-документацию для класса "HSSFWorkbook":
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", который вы можете использовать для защиты паролем листа.
Я никогда не пробовал это. Но может ли это помочь?