使用 ExcelDataReader 和 Epplus 访问受保护的 Excel 文件

2023-11-24

标题几乎说明了一切。寻找一种使用 ExcelDataReader 和 Epplus 访问受密码保护的 Excel 文件的方法,找不到正确的答案。

如果使用 ExcelDataReader,我的代码如下所示

                excelStream = File.Open(excelFilePath, FileMode.Open, FileAccess.Read);
                excelReader = ExcelReaderFactory.CreateOpenXmlReader(excelStream);
                excelDataSet = excelReader.AsDataSet();

如果使用 EPPlus 我的连接代码如下所示

            excelPackage = new ExcelPackage(new FileInfo(excelFilePath));
            excelWorkbook = excelPackage.Workbook;
            excelSheet = excelWorkbook.Worksheets[1];

EPPlus 有一些与保护相关的方法,但我不知道如何使用它们。 ExcelDataReader似乎没有任何与保护相关的方法。

任何提示表示赞赏,谢谢。

编辑:我已经知道密码


通过 EPPlus,您可以使用

excelPackage = new ExcelPackage(new FileInfo(excelFilePath), "mypassword");

ExcelDataReader 现在支持打开受密码保护的工作表。我开了一个issue在他们的 GitHub 上询问他们是否有这样的支持,并收到回复说他们没有,但过了一段时间他们添加了对某些密码方法的支持。有关他们仍然不支持的密码方法的详细信息,请参阅链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ExcelDataReader 和 Epplus 访问受保护的 Excel 文件 的相关文章

  • Qt - 无法让 lambda 工作[重复]

    这个问题在这里已经有答案了 我有以下功能 我想在其中修剪我的std set
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • 在 C++11 中省略返回类型

    我最近发现自己在 C 11 模式下的 gcc 4 5 中使用了以下宏 define RETURN x gt decltype x return x 并编写这样的函数 template
  • 有什么工具可以说明每种方法运行需要多长时间?

    我的程序的某些部分速度很慢 我想知道是否有我可以使用的工具 例如它可以告诉我可以运行 methodA 花了 100ms 等等 或者类似的有用信息 如果您使用的是 Visual Studio Team System 性能工具 中有一个内置分析
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • 运行代码首先迁移更新数据库时出错

    我在迁移到数据库时遇到问题 并且似乎找不到我遇到的错误的答案 System MissingMethodException Method not found System Data Entity Migrations Builders Tab
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are

随机推荐

  • 为什么 WPF 支持多重绑定,但 silverlight 不支持?

    多重绑定是 WPF 中非常强大的功能 为什么 silverlight 不支持它 他们从来没有抽出时间来增加支持吗 它太大而无法适应 NET 框架 它会出现在 Silverlight 5 中吗 有谁知道答案吗 Thanks 它不受开箱即用的支
  • 在子进程 Popen 和通信后关闭所有文件的正确方法

    我们在运行 python Twisted 应用程序的 Ubuntu Linux 机器上遇到了一些可怕的 打开文件过多 问题 在我们程序的许多地方 我们都使用子进程 Popen 如下所示 Popen ifconfig iface shell
  • 错误:项目上未安装 EntityFramework 包

    我刚刚安装了 SQL Server 2008 将 ASP NET MVC 4 项目配置为部署在本地 IIS 上 并添加了到当时创建的数据库的新连接 在 sql server 2008 中 当我尝试通过启用迁移 实体框架 时启用 迁移 Con
  • 如何在格子中标记面板

    这是一个简单的问题 您肯定已经遇到过 但让我很头疼 我有一个像这样的数据框 set seed 3 mydata lt data frame var rnorm 100 20 1 temp sin sort rep c 1 10 10 sub
  • 评估业务规则引擎的标准[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我们正在购买业务规则引擎
  • Jquery 选择元素 2 的位置进一步 - .next().next() 的另一种方式

    我正在寻找一种方法 如何选择一个 div 元素 该元素不是通过单击功能 选择 的元素的直接下一个元素 div siblings div div text div div div 现在我想选择 id 为 get this one 的一个 在我
  • Git 如何记录(或更可能表示)其 blob 的文件路径和名称,然后识别重命名?

    我正在尝试了解 git 设法 记住 文件名及其路径的方式 因为它只将文件内容存储在 blob 中 解释是在链接在这里Abizem 写的不错吗 这是迄今为止我见过的最好的 后续问题是 git 如何 在哪里 确定我们何时具有相似性 特别是在 移
  • Python 等价于 vector::reserve()

    我正在寻找 C vector reserve 的 Python 等效项 我不知道列表会提前有多大 但我知道它会相当大 并且我希望尽可能避免调整大小 因为列表是在深层内部循环中增长的 到目前为止 我提出的唯一解决方案与 vector rese
  • 将映射值复制到 STL 中的向量[重复]

    这个问题在这里已经有答案了 目前正在努力学习Effective STL 第 5 条建议使用范围成员函数通常比使用单元素函数更可取 我目前希望将映射中的所有值 即 我不需要键 复制到向量中 最干净的方法是什么 你可能可以使用std trans
  • __stdcall的含义和用法是什么?

    我遇到过 stdcall这些天很多 MSDN 没有非常清楚地解释它的真正含义 何时以及为什么应该使用它 如果有的话 如果有人能提供解释 最好是举一两个例子 我将不胜感激 这个答案涵盖了 32 位模式 Windows x64 仅使用 2 个约
  • 在 JDBC 中处理 DATETIME 值 0000-00-00 00:00:00

    如果我尝试这样做 我会得到一个例外 见下文 resultset getString add date 对于包含 DATETIME 值 0000 00 00 00 00 00 DATETIME 的准空值 的 MySQL 数据库的 JDBC 连
  • 有效地查找大集合中具有低汉明距离的二进制字符串

    Problem 给定一个大 约 1 亿 无符号 32 位整数列表 一个无符号 32 位整数输入值和最大汉明距离 返回输入值的指定汉明距离内的所有列表成员 保存列表的实际数据结构是开放的 性能要求决定了内存中的解决方案 构建数据结构的成本是次
  • 在节目中跳入 Python 交互式会话?

    嘿 我想知道 我正在将 pydev 与 eclipse 一起使用 我真的很喜欢强大的调试功能 但我想知道 是否可以在eclipse中设置断点并在执行过程中跳转到交互式python解释器 我认为这会非常方便 edit 我想强调 我的目标不是跳
  • Symfony 2 注销(UserInterface::eraseCredentials)

    我想eraseCredentials是用来注销的吗 如果是这样 我如何清除教义实体的会话 No eraseCredentials 用于在持久化令牌之前擦除敏感数据 无论是序列化还是数据库 要以编程方式注销用户 您可以使用以下命令 this
  • JavaMail检查邮件内容 gmail IMAP

    我正在尝试阅读我的消息 我可以让它打印标题 但发件人和内容显示得很有趣 这是我用来显示消息的代码 int j message length 1 for int i j i gt 0 i System out println Message
  • 有什么方法可以知道流星订阅何时“有效”?

    如果我改变一个Sessionvar 并通过以下方式触发重新订阅autosubscribe 是否有任何回调机制可以等待 最新 数据从服务器上下来 1 如果你看一下这个要点您将看到一些代码 这些代码随着订阅的变化而记录集合的内容 输出的相关部分
  • 计算字符串在字符串中出现的次数[重复]

    这个问题在这里已经有答案了 我只是有一个看起来像这样的字符串 7 真 NA 假 67 假 NA 假 5 假 NA 假 5 假 NA 假 我想做的就是计算字符串出现了多少次 true 出现在该字符串中 我感觉答案是这样的String Coun
  • Python - 如何使用模块的别名来导入其子模块?

    我的模块名称很长 我想避免在文档中多次输入它 我可以简单地做import long ass module name as lamn并这样称呼它 但是 该模块有许多我也希望导入和使用的子模块 在这种情况下我将无法写import lamn su
  • max() 函数如何处理 python 中的字符串列表?

    我有一个清单 list1 123 xyz zara abc print Max value element max list1 它给 Max value element zara 另请解释它如何对字符串列表和数字列表进行比较 This is
  • 使用 ExcelDataReader 和 Epplus 访问受保护的 Excel 文件

    标题几乎说明了一切 寻找一种使用 ExcelDataReader 和 Epplus 访问受密码保护的 Excel 文件的方法 找不到正确的答案 如果使用 ExcelDataReader 我的代码如下所示 excelStream File O