打开 XML SDK 2.0 以按名称访问 Excel 2010 工作表

2024-02-24

我有一个 Excel 2010 电子表格,其中有 3 个工作表,分别名为 Sheet1、Sheet2 和 Sheet3。

我正在尝试按名称获取对工作表的引用。

我正在使用代码:

using (SpreadsheetDocument myWorkbook = SpreadsheetDocument.Open(FileName, true))
{
    //Access the main Workbook part, which contains all references 
    WorkbookPart workbookPart = myWorkbook.WorkbookPart;

    WorksheetPart worksheetPart = workbookPart.WorksheetParts.Last(); 

    // this gives me Sheet1
    SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();
}

我正在尝试获取对 Sheet2 的引用,但我找不到方法来执行此操作。

我越来越接近了,但我还没有到达那里:

var x = workbookPart.Workbook.Sheets.Where(s=> s.GetAttribute("name", "").Value == "Sheet2").FirstOrDefault();

这让我参考了工作表,但没有参考工作表上的数据

Thanks


你真正想要的是WorksheetPart其中包含SheetData您正在寻找的。抓住Sheets在下面Workbook只会为您提供有关工作表的某些元数据。这是一个关于如何获取它的示例WorksheetPart(随意添加错误检查,因为我认为合适sheetName通过调用已经存在First并不是FirstOrDefault)

public WorksheetPart GetWorksheetPart(WorkbookPart workbookPart, string sheetName)
{
    string relId = workbookPart.Workbook.Descendants<Sheet>().First(s => sheetName.Equals(s.Name)).Id;
    return (WorksheetPart)workbookPart.GetPartById(relId);
}

然后只需使用上面的代码获取正确的 SheetData 引用,您就可以从那里找到您想要的数据。

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

打开 XML SDK 2.0 以按名称访问 Excel 2010 工作表 的相关文章

  • 是否有与 posix_memalign 对应的 C++ 版本?

    当我打电话时posix memalign http man7 org linux man pages man3 posix memalign 3 html为类型的对象分配对齐的内存Foo在我的 C 代码中 我需要做一个reinterpret
  • C++ 维护子类对象的混合集合

    如果我在这里错过了一个相当基本的概念 我很抱歉 但我正在尝试弄清楚如何维护多个类类型的集合 所有类类型都派生自同一个父类 并且在检索它们时仍然可以访问它们的特定于子类的方法从集合中 作为上下文 我有一个基类 BaseClass 和许多类 例
  • CLR 2.0 与 4.0 性能比较?

    如果在 CLR 4 0 下运行 为 CLR 2 0 编译的 NET 程序会运行得更快吗 应用程序配置
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • C# 数据表更新多行

    我如何使用数据表进行多次更新 我找到了这个更新 1 行 http support microsoft com kb 307587 my code public void ExportCSV string SQLSyntax string L
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • IQueryable 单元或集成测试

    我有一个 Web api 并且公开了一个端点 如下所示 api 假期 name name 这是 Web api 的控制器 get 方法 public IQueryable
  • 在 NaN 情况下 to_string() 可以返回什么

    我使用 VS 2012 遇到了非常令人恼火的行为 有时我的浮点数是 NaN auto dbgHelp std to string myFloat dbgHelp最终包含5008角色 你不能发明这个东西 其中大部分为0 最终结果是 0 INF
  • 如何在 C 中安全地声明 16 位字符串文字?

    我知道已经有一个标准方法 前缀为L wchar t test literal L Test 问题是wchar t不保证是16位 但是对于我的项目 我需要16位wchar t 我还想避免通过的要求 fshort wchar 那么 C 不是 C
  • 保护 APK 中的字符串

    我正在使用 Xamarin 的 Mono for Android 开发一个 Android 应用程序 我目前正在努力使用 Google Play API 添加应用内购买功能 为此 我需要从我的应用程序内向 Google 发送公共许可证密钥
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • Unity:通过拦截将两个接口注册为一个单例

    我有一个实现两个接口的类 我想对该类的方法应用拦截 我正在遵循中的建议Unity 将两个接口注册为一个单例 https stackoverflow com questions 1394650 unity register two inter
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • 实体框架中的“it”是什么

    如果以前有人问过这个问题 请原谅我 但我的任何搜索中都没有出现 它 我有两个数据库表 Person 和 Employee 对每个类型的表进行建模 例如 Employee is a Person 在我的 edmx 设计器中 我定义了一个实体
  • 这个可变参数模板示例有什么问题?

    基类是 include
  • 使用 omp_set_num_threads() 将线程数设置为 2,但 omp_get_num_threads() 返回 1

    我有以下使用 OpenMP 的 C C 代码 int nProcessors omp get max threads if argv 4 NULL printf argv 4 s n argv 4 nProcessors atoi argv
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • 使用 C 在 OS X 中获取其他进程的 argv

    我想获得其他进程的argv 例如ps 我使用的是在 Intel 或 PowerPC 上运行的 Mac OS X 10 4 11 首先 我阅读了 ps 和 man kvm 的代码 然后编写了一些 C 代码 include
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有

随机推荐

  • Psycopg2 单引号异常

    我在我的应用程序中使用 psycopg2 一切都很好 但是 当我插入数据时包含单引号 然后 python 抛出下面的异常
  • WebDriverException:消息:握手中缺少“marionette Protocol”字段

    我目前正在尝试在本地运行 robotsframework 测试脚本 Ubuntu 12 04 LTS 64 位 我遇到的问题是无法在 Open Browser 中启动 FF 浏览器 以下是我所拥有的设置的详细信息 规格 火狐浏览器 v26
  • 使用 Cookie 的购物车

    我正在尝试使用 cookie 会话制作一个简单的购物车 根据此代码片段 它仅包含 4 个项目
  • Django - 如何将多个参数传递给 url 模板标签

    在我的 urls py 中我有 r P
  • Rstudio 中的 R 找不到 rmarkdown 包

    我第一次尝试在 PC 上的 Rstudio 0 98 953 中使用 rmarkdown 我已升级到最新版本的 R 3 1 1 和 R studio 本问题末尾提供了 sessionInfo 的输出 据我了解 rmarkdown 应该包含在
  • 使用变量访问对象的属性

    如果我有一个对象 具有名称 电话号码等属性 我如何使用变量在 Javascript 中访问这些属性 我想通过执行以下操作来访问 javascript 中的属性名称 object name bob phone number 911 prope
  • powershell 运行 pip

    我想通过 powershell 脚本运行 python 模块升级 第一行有效 但我不知道如何正确读入文件 第二条点线 我收到此错误 Could not find a version that satisfies the requiremen
  • NFCTagReaderSession“缺少所需的权利”

    我正在深入研究 iOS 13 的新 CoreNFC 功能 并且正在努力让 NFCTagReaderSession 正常工作 设置我的权利并实例化 NFCTagReaderSession 和委托后 我尝试通过调用来启动会话nfcTagRead
  • Swift:如何从 UIImage 数组中提取图像文件名

    如果我有一个像这样的 UIImage 数组 newImageArray UIImage named Red png UIImage named Green png UIImage named Blue png UIImage named Y
  • 如何使用 DotNetZip 从 zip 中提取 XML 文件

    我使用的是最新版本的 DotNetZip 并且有一个包含 5 个 XML 的 zip 文件 我想打开 zip 读取 XML 文件并使用 XML 的值设置一个字符串 我怎样才能做到这一点 Code thats my old way of do
  • 使用 Selenium 的模态对话框窗口

    因此 我尝试使用 Selenium 导航到 IE9 中的页面 该页面在加载页面时显示存在证书错误 使用 AutoIT 我可以让它在浏览器中单击 然后按 TAB 两次 然后按 Enter 键 没有问题 然而 当它继续时 它会抛出 模态对话框存
  • 如何避免未使用的 setState 函数? React useState 可以在没有 setter 的情况下创建吗?

    我目前正在减少 删除 React 站点上的 npm 警告 大量警告是由 setState 函数 未使用 引起的 如下所示 const state setState useState some state 以下哪项是消除这些警告的更好方法 或
  • 基本高性能数据真实性

    我不是母语人士 术语可能不正确 对此感到抱歉 我正在 AVR 微控制器之间通过无线电传输数据供个人使用 并希望客户能够证明传输数据的真实性 因为它来自授权客户之一 这意味着我不需要不可否认性并且能够预先定义共享密钥 我对不同的方法进行了一些
  • Xcode 8:以 NSException 类型的未捕获异常终止

    我是新手 我遇到了这个错误 我到处查找 但找不到解决方案 任何帮助将非常感激 0 CoreFoundation 0x00000001102bb34b exceptionPreprocess 171 1 libobjc A dylib 0x0
  • 为什么 UINavigationBar 会窃取触摸事件?

    我有一个自定义 UIButton 其中 UILabel 添加为子视图 仅当我触摸顶部边界下方约 15 个点时 按钮才会执行给定的选择器 当我点击该区域上方时 什么也没有发生 我发现这并不是由错误创建按钮和标签引起的 因为在我将按钮向下移动约
  • EditText TextChangeListener问题

    我有一个用于搜索目的的编辑文本 我已经添加了 searchET addTextChangedListener new TextWatcher Override public void onTextChanged CharSequence s
  • 如何使用 bash 命令创建 CPU 峰值

    我想在 Linux 机器上创建接近 100 的负载 它是四核系统 我希望所有核心都全速运行 理想情况下 CPU 负载将持续指定的时间 然后停止 我希望 bash 有一些技巧 我在想某种无限循环 I use stress http linux
  • Java Swing 中的图形绘制仅绘制点

    我目前正在开发一个程序 其中随着时间的推移而演变的某些数值变量在每次迭代中显示它们的值 这已经足够好了 但现在我想绘制一个图表来显示它们随时间的演变 因此 我研究了在 Swing 中绘制图表的代码示例 我的最终代码如下所示 public c
  • 处理ControlCAsInput 问题。这是一个错误吗?

    刚刚遇到了下面描述的问题 如果 Console TreatControlCAsInput true 则必须在 ReadLine 上按 enter 两次 我在下面写了一些演示代码 我对这段代码演示了 NET 4 框架中的错误的猜测是正确的吗
  • 打开 XML SDK 2.0 以按名称访问 Excel 2010 工作表

    我有一个 Excel 2010 电子表格 其中有 3 个工作表 分别名为 Sheet1 Sheet2 和 Sheet3 我正在尝试按名称获取对工作表的引用 我正在使用代码 using SpreadsheetDocument myWorkbo