【问题标题】:Is it possible to set foreign key between two excel sheets?是否可以在两个excel表之间设置外键?
【发布时间】:2011-03-22 07:34:51
【问题描述】:

是否可以在两张excel表之间设置外键并从两张表中查询记录?

我有一张学生详细信息的 Excel 表格,另一张表格包含总分。两个工作表共有的字段是 RegID。我需要在网格上的两张纸上显示名称和标记...怎么做?请帮忙....

Query = "SELECT Status from [Viewer$] as a LEFT JOIN [UI$] as b ON a.[Responsible Person] = b.[Responsible Person] where b.[Responsible Person] = null" ;

此查询未将记录返回到数据集...

【问题讨论】:

  • 第一个问题的答案是“否”。对于第二个,您可能想要添加更多关于如何“从两者中查询记录”的信息。
  • 我有一张学生详细信息的 Excel 表格,另一张表格包含总分。两个工作表共有的字段是 RegID。我需要在网格上显示两张表中的名称和标记...怎么做?

标签: c# sql sql-server-2005 excel


【解决方案1】:

如果您的意思是从两个工作表中读取数据并将其混合以制作“组合”记录,然后将这些记录输入您设置了 FK 的数据库中,那么应该是可能的。

阅读Reading Excel Cells using C#

您可以打开循环访问的工作表,但您必须从工作表协调数据构建。

【讨论】:

    【解决方案2】:

    新手,

    我使用 excel 2007 openxml sdk (DocumentFormat.OpenXml) 在这种情况下效果很好。它基本上是一个 LINQ 库,它将 excel 文档放入对象中,并允许您像任何其他 LINQ 对象一样在 c# 内部进行查询。微软确实(在快速搜索之后)有一个关于这个主题的非常好的“白痴指南”。你可以在这里找到它:

    [编辑] - 添加了更多链接

    http://msdn.microsoft.com/en-us/library/dd920313%28v=office.12%29.aspx

    http://blogs.msdn.com/b/johnrdurant/archive/2010/02/19/excel-open-xml-linq-part-i.aspx

    http://www.briankeating.net/blog/post/2010/04/26/Linq-to-Xlsx.aspx

    如果您使用 LINQ,这很简单,而且绝对是我处理此类任务的唯一方法。它还将“迎合”您对 fk 的想法,因为它允许您“加入”您想要定义的任何任意字段(即与任何 LINQ 查询一样),因此它应该完美地满足您的要求。

    【讨论】:

      【解决方案3】:

      无法使用 SQL。如果数据源是 Excel 工作簿,则不支持 UNIQUEFOREIGN KEY

      【讨论】:

        猜你喜欢
        • 2014-05-10
        • 1970-01-01
        • 1970-01-01
        • 2020-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-26
        • 2018-09-04
        相关资源
        最近更新 更多