C# 操作Office带密码文件

如果office文件设置了密码,在打开文件的时候就会弹出对话框,提示输入密码才能继续下去,影响了后台服务的跑批执行,
由于在打开文件之前,无法知道当前文件是否有密码,所以在打开文件的时候就设置一个默认密码来打开,这样报错了就可
以直接跳过该文件,下面就介绍每个类型的office文档怎么传入密码打开文档。

1.Word

第5个参数是输入密码的地方

ApplicationClass word = new ApplicationClass();
word.Visible = true;    //word是否可见
Document doc = word.Documents.Open(@"F:...\demo.docx", Type.Missing, true, Type.Missing, "123456");

参数预览
在这里插入图片描述
2.Excel

第5个和第6个参数是输入密码的地方

object missing = System.Reflection.Missing.Value;
Application excel = new Application();//lauch excel application
excel.Visible = false; 
excel.UserControl = true;
// 以只读的形式打开EXCEL文件
Workbook wb = excel.Application.Workbooks.Open(".../demo.xlsx", missing, true, missing, "123456", "123456",missing, missing, missing, true, missing, missing, missing, missing, missing);

参数预览
在这里插入图片描述
3.PPT

ppt比较特殊,密码没有参数去输入,而是在文件路径后面加上::用于输入密码

Application app = new Application(); 
app.Presentations.Open2007(".../demo.pptx::123456", MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoFalse); 
app.ActivePresentation.SaveAs(@"R:\LiChao\Temp\test\CCB_F4I;09_Field Work - Part 1 Field Work.pptx", PpSaveAsFileType.ppSaveAsDefault, MsoTriState.msoFalse); 
app.ActivePresentation.Close();

参数预览
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C#中加载有密码的Excel数据的最快方式通常是使用第三方库,比如EPPlus或NPOI。这些库提供了更高效的方法来读取和操作Excel文件。 EPPlus是一个强大的库,用于创建和操作Office Open XML格式(.xlsx)文件。它提供了简单易用的API和优化的性能,适用于大型Excel文件。 以下是使用EPPlus加载有密码的Excel数据的示例代码: ```csharp using OfficeOpenXml; string pathToExcelFile = "path_to_excel_file.xlsx"; string password = "your_password"; using (ExcelPackage package = new ExcelPackage(new FileInfo(pathToExcelFile), password)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; // 根据需要选择工作表 int rowCount = worksheet.Dimension.Rows; int colCount = worksheet.Dimension.Columns; for (int row = 1; row <= rowCount; row++) { for (int col = 1; col <= colCount; col++) { var cellValue = worksheet.Cells[row, col].Value; // 获取单元格的值 // 在这里进行您的操作 } } } ``` 通过在`ExcelPackage`构造函数中传递密码参数,您可以打开受密码保护的Excel文件。然后,您可以像之前的示例一样遍历工作表并操作单元格。 EPPlus允许您按行和列遍历工作表,以获取单元格的值。您可以根据需要在内部循环中执行操作。 另一个常用的库是NPOI,它支持读写`.xls`和`.xlsx`格式的Excel文件。虽然NPOI在处理复杂的Excel文件时可能更适用,但在处理大型文件时可能会稍慢一些。 总而言之,使用EPPlus或NPOI这样的第三方库加载有密码的Excel数据通常会比原生的OleDbConnection更快和更灵活。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值