是否可以在两个excel表之间设置外键?

时间:2011-03-22 07:34:52

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

是否可以在两张Excel工作表和两张工作表中查询记录之间设置外键?

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

Query =“从[Viewer $]选择状态作为LEFT JOIN [UI $]作为b ON a。[负责人] = b。[负责人]其中b。[负责人] = null”;

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

3 个答案:

答案 0 :(得分:1)

如果您的意思是从两张表中读取数据并将其混合以制作您在数据库中输入FK集的“组合”记录,那么它应该是可能的。

阅读Reading Excel Cells using C#

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

答案 1 :(得分:1)

新手,

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

[edit] - 添加了更多链接

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查询一样),因此它应该完美地满足你的要求。

答案 2 :(得分:0)

使用SQL无法实现。在数据源是Excel工作簿的地方,不支持UNIQUEFOREIGN KEY