Защищенный паролем 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", который вы можете использовать для защиты паролем листа.

Я никогда не пробовал это. Но может ли это помочь?

Другие вопросы по тегам