C# 如何对excel文件进行加密

tqd354 2015-12-04 10:44:24
excel版本是2007
我现在需要用C#代码来实现对excel设置密码,执行程序后,每次打开excel文件都需要输入密码后,才能看到里面的内容。
我在网上查了下,说用Workbook.Protect("password");方法来加密,但没用效果。
请问下,我要怎么用代码来实现?
...全文
1223 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lu807160015 2016-12-11
  • 打赏
  • 举报
回复
这篇文章里有你要的方案 ,亲测有效 :http://www.cnblogs.com/teamblog/p/6158140.html
N_Studio 2016-02-18
  • 打赏
  • 举报
回复
怎么解密?我现在的功能是需要输入密码获取excel,怎么搞?
changjiangzhibin 2015-12-15
  • 打赏
  • 举报
回复
引用 6 楼 tqd354 的回复:
[quote=引用 4 楼 changjiangzhibin 的回复:] 也可以使用Excel中的宏来实现
主要我的excel文件是执行C#代码后生成的,然后在往excel里面写数据,程序执行完后,在打开excel的时候,excel要是已经被加密的状态。这种情况下可以还能用宏来实现么?[/quote] 可以的,大多数Excel手动操作都可以在程序中同样操作,包含程序生成宏等。
tqd354 2015-12-08
  • 打赏
  • 举报
回复
引用 4 楼 changjiangzhibin 的回复:
也可以使用Excel中的宏来实现
主要我的excel文件是执行C#代码后生成的,然后在往excel里面写数据,程序执行完后,在打开excel的时候,excel要是已经被加密的状态。这种情况下可以还能用宏来实现么?
tqd354 2015-12-08
  • 打赏
  • 举报
回复
引用 2 楼 lvfeng1989 的回复:
Excel.Application excelApp = new Excel.Application(); //设置是否显示警告窗体 excelApp.DisplayAlerts = false; //设置是否显示Excel excelApp.Visible = false; //禁止刷新屏幕 excelApp.ScreenUpdating = false; string path = ""; Excel.Workbook xlsWorkBook = excelApp.Workbooks.Open(path, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing); xlsWorkBook.Password = "123";
你试过这样可以么? 我已经找到解决的方法了,用SaveAs方法 MSExcelUsing ex = new MSExcelUsing(filePath) ex.Workbook.SaveAs(@filePath_temp, Missing.Value, "123");
changjiangzhibin 2015-12-04
  • 打赏
  • 举报
回复
也可以使用Excel中的宏来实现
lvfeng_95 2015-12-04
  • 打赏
  • 举报
回复
Excel.Application excelApp = new Excel.Application(); //设置是否显示警告窗体 excelApp.DisplayAlerts = false; //设置是否显示Excel excelApp.Visible = false; //禁止刷新屏幕 excelApp.ScreenUpdating = false; string path = ""; Excel.Workbook xlsWorkBook = excelApp.Workbooks.Open(path, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing); xlsWorkBook.Password = "123";
lvfeng_95 2015-12-04
  • 打赏
  • 举报
回复
是这样吗 楼主 给Excel设置密码
  • 打赏
  • 举报
回复
买一本关于vba的书看看。

62,263

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧