В MS Access, может ли Visual Studio 2010 это сделать? - PullRequest
0 голосов
/ 09 марта 2012

Мой приятель, гуру Access, продемонстрировал мне, как он может связываться с электронной таблицей Excel из MS Access и написать запрос, чтобы получить необходимые данные примерно за 2 минуты, и сделать еще несколько приятных пользовательских отчетов за несколько секундминут.Я был впечатлен тем, как быстро он смог сделать это без кодирования, кроме незначительных изменений в своем SQL.

Имеет ли Visual Studio 2010 такую ​​возможность, возможность просто указывать на внешний источник данных (например, электронную таблицу Excel) и быстро обрабатывать его?Я запустил новую программу win # на C #, чтобы выяснить это.Я добавил пустой набор данных через конструктор наборов данных с идеей, что я могу «как-то» добавить новый источник данных для набора данных и указать его в электронной таблице Excel.Но, на мой взгляд, я не вижу простого способа сделать это (при использовании опции «Добавить источник данных ..»).Я пробовал разные строки подключения, разных провайдеров, но я не могу заставить дизайнера «увидеть» данные в электронной таблице Excel.

Я должен указать, что могу делать именно то, что говорюо коде, но я надеялся, что есть «визуальный» способ сделать это.Вы знаете, что-то вроде Access имеет.Просто укажите на электронную таблицу Excel, импортируйте ее как источник данных или ссылку на нее и вуаля!

У кого-нибудь есть опыт в этом?Это только для извлечения данных, а не для обратной записи в электронную таблицу.Я просто ищу способ указать конструктору на электронную таблицу и сказать: «Вот, используйте это как источник данных».

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Можно. Вроде ... Это то, что я сделал, чтобы визуально добавить соединение в электронную таблицу Excel 2003 (.xls).

  1. На вкладке Database Explorer вы можете щелкнуть правой кнопкой мыши на Data соединения и сделать «Добавить соединение».
  2. выберите «другие» в источнике данных и «.NET Framework для поставщика данных для OLE DB» в поставщике данных
  3. В диалоговом окне «Добавить подключение» выберите «Поставщик OLE DB для Microsoft Jet 4.0»
  4. Введите путь к файлу Excel в поле «Имя сервера или файла»
  5. Нажмите «Дополнительно» и напишите Excel 8.0 в «Расширенные свойства»

Готово, у вас должно быть соединение, чтобы преуспеть и создавать запросы LINQ (или что-то еще) к нему в конструкторе.

0 голосов
/ 09 марта 2012

Конечно, пост здесь

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://Org.xls;Extended Properties=" + (char)34 + "Excel 8.0;HDR=Yes;" + (char)34);
DataSet myExcelData=new DataSet(); 
conn.Open();  
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from [Sheet1$]", conn);
myDataAdapter.Fill(myExcelData);  
ultraGrid1.DataSource = myExcelData;  
conn.Close();  

Но ИМХО, зачем вам получать данные из Excel для доступа, чтобы "работать с ним"?Кажется логичным использовать Excel для работы с ним.

...