NPOI操作EXCEL--设置密码及设置只读

有时,我们可能需要某些单元格只读,如在做模板时,模板中的数据是不能随意让别人改的。在Excel中,可以通过“审阅->保护工作表”来完成,如下图:
     
 那么,在NPOI中有没有办法通过编码的方式达到这一效果呢?答案是肯定的。

复制代码
HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1");

HSSFRow row1 = sheet1.CreateRow(0);
HSSFCell cel1 = row1.CreateCell(0);
HSSFCell cel2 = row1.CreateCell(1);

HSSFCellStyle unlocked = hssfworkbook.CreateCellStyle();
unlocked.IsLocked = false;

HSSFCellStyle locked = hssfworkbook.CreateCellStyle();
locked.IsLocked = true;

cel1.SetCellValue("没被锁定");
cel1.CellStyle = unlocked;

cel2.SetCellValue("被锁定");
cel2.CellStyle = locked;

sheet1.ProtectSheet("password");
复制代码

正如代码中所看到的,我们通过设置CellStype的ISLocked为True,表示此单元格将被锁定。相当于在Excel中执行了如下操作:

然后通过ProtectSheet设置密码。

执行结果如下:

没被锁定的列可以任意修改。
 

被锁定的列不能修改。
 


输入密码可以解除锁定。

 

 

目前先收藏,自己试验没好使,不知道是不是我写的有问题

找到原因了,以为自己的不需要密码,所以sheet.ProtectSheet未写。只要需要进行只读操作,就必须写这个。不需要密码,那么内容可以传入空串。

转载于:https://www.cnblogs.com/dfzone/p/3805697.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我理解了你的问题。关于用NPOI操作Excel并巧妙使用Excel Chart,以下是我的回答: NPOI是一个用于操作Office文件的.NET库,其中包括Excel文件。通过NPOI,可以轻松地读取、写入和修改Excel文件,同时也可以操作Excel图表。 要创建Excel图表,可以使用NPOI中的Chart类。该类提供了创建不同类型图表的方法,例如折线图、柱形图、饼图等等。在创建图表时,需要指定数据源和图表类型。例如,以下代码创建一个柱形图,并将其插入到Excel工作表中: ``` // 创建一个工作簿 var workbook = new HSSFWorkbook(); // 创建一个工作表 var sheet = workbook.CreateSheet("Sheet1"); // 创建一个柱形图 var chart = sheet.CreateDrawingPatriarch().CreateChart(new HSSFClientAnchor(0, 0, 0, 0, 0, 5, 10, 20)); chart.ChartType = NPOI.SS.UserModel.Charts.ChartType.Bar; // 设置图表数据源 var chartData = chart.ChartData; var chartSeries = chartData.AddSeries(new string[] { "A", "B", "C" }, new[] { 1.2, 3.4, 5.6 }); // 将图表插入到工作表中 sheet.CreateRow(25).HeightInPoints = 250; var anchor = new HSSFClientAnchor(0, 0, 0, 0, 0, 0, 10, 20); anchor.AnchorType = 2; sheet.CreateDrawingPatriarch().CreateChart(anchor).Chart = chart; ``` 以上代码创建一个柱形图,并将其插入到Excel工作表的指定位置。可以通过修改数据源和图表类型来创建不同类型的图表。 希望我的回答对你有所帮助。如果你有任何其他问题,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值