Можно ли установить внешний ключ между двумя листами Excel? - PullRequest
3 голосов
/ 22 марта 2011

Можно ли установить внешний ключ между двумя листами Excel и записями запросов с двух листов?

Я получил лист с данными о студентах в Excel, а другой лист содержит итоговые оценки.Общими полями для обоих листов является RegID.Мне нужно отобразить Имя и Знаки на двух листах на сетке ... Как это можно сделать?пожалуйста, помогите ....

Query = "ВЫБЕРИТЕ Статус из [Viewer $] как ЛЕВОЕ СОЕДИНЕНИЕ [UI $] как b ON a. [Ответственный человек] = b. [Ответственный человек] где b. [Responsible Person] = null ";

Этот запрос не возвращает записи в набор данных ...

Ответы [ 3 ]

1 голос
/ 22 марта 2011

NewBie,

Я использовал openxml sdk в Excel 2007 (DocumentFormat.OpenXml) для большого эффекта в этом сценарии. По сути, это библиотека LINQ, которая переносит документы Excel в объекты и позволяет выполнять запросы внутри c #, как и любой другой объект LINQ. У Microsoft действительно есть (после быстрого поиска) довольно хорошее «руководство для идиотов» на эту тему. Вы можете найти его здесь:

[редактировать] - добавлено еще несколько ссылок

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), таким образом, он должен полностью удовлетворить ваши требования.

1 голос
/ 22 марта 2011

Если вы хотите прочитать данные с двух листов и смешать их для создания «комбинированных» записей, которые вы вводите в базу данных, в которой установлен FK, тогда это должно быть возможно.

Чтение Чтение ячеек Excel с использованием C #

Вы можете открыть, кто листы, к которым вы получаете доступ в цикле, но вам придется координировать построение данных из ваших листов.

0 голосов
/ 22 марта 2011

Невозможно с помощью SQL. UNIQUE и FOREIGN KEY не поддерживаются, если источником данных является книга Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...