Export Data to Excel from Master Data Services
В надстройке Master Data Services для Excel необходимо экспортировать данные из репозитория MDS, чтобы работать с ним.
Если вы хотите отфильтровать набор данных перед загрузкой, ознакомьтесь с разделом «Фильтрация данных перед экспортом» (надстройка MDS для Excel).
Предварительные условия
Для выполнения этой процедуры:
- Необходимо иметь разрешение на доступ к функциональной области Обозреватель .
Экспорт данных из MDS в Excel
- Откройте Excel и на вкладке Основные данные установите соединение с репозиторием MDS. Дополнительные сведения см. в разделе «Подключение к репозиторию MDS» (надстройка MDS для Excel).
- На панели Обозреватель основных данных выберите модель и версию. Заполняется список сущностей.
- Если панель Обозреватель основных данных не видна, в группе Соединение и загрузка нажмите Показать обозреватель.
- Если панель Обозреватель основных данных отключена, то причина этого заключается в том, что существующий лист уже содержит данные, управляемые MDS. Чтобы включить эту панель, откройте новый лист.
- В области Обозреватель основных данных в списке сущностей дважды щелкните сущность, которую нужно загрузить.
- В Excel загружается только первый миллион элементов. Чтобы отфильтровать список перед загрузкой, на ленте в группе Подключение и загрузка нажмите кнопку Фильтр.
- В столбцах, которые являются ограниченными списками (атрибутами на основе домена), по умолчанию загружаются только первые 25 000 значений. Это число можно изменить в свойстве MaximumDbaEntitySize в файле excelusersettings.config, расположенном на компьютере, на котором установлена программа Excel. Этот файл находится в папке C:\Users\\AppData\Local\Microsoft\SQL Server\130\MasterDataServices\. Если количество значений для атрибута на основе домена превышает настройку свойства MaximumDbEntitySize, список значений не загружается.
Если при загрузке разделенных текстом данных с помощью надстройки для Microsoft Excel в 32-разрядную версию Excel свойствам Число ячеек для загрузки и Число ячеек для публикации присвоено максимальное значение 1000, возникнет ошибка нехватки памяти. Для использования максимальных значений свойств Число ячеек для загрузки и Число ячеек для публикациинеобходимо использовать 64-разрядную версию Excel.
Как из ms sql экспортировать данные в excel?
Есть ms sql server 2012 и есть excel 2007 надо экспортировать данные в excel. стандартное средство импорта экспорта данных не дает выбрать на втором шаге excel. только базы данных.
Нашел на msdn видео как через visual studio это сделать. но там он старый а сейчас только 2012 есть. все прошел по шагам, затык на последнем моменте. имена столбцов в excel прописывает а дальше не хочет.
- Вопрос задан более трёх лет назад
- 12152 просмотра
1 комментарий
Оценить 1 комментарий
Не знаете, как выгрузить данные из SQL в Excel для отчета?

Итак, перед нами поставлена задача сделать автоматизированный отчет на основании данных сервера SQL . Есть несколько способов решения данной задачи: вы можете использовать Microsoft Office Access, но мы п ойдем простым путем и сделаем этот отчет в Microsoft Office Excel. ВНИМАНИЕ: для создания данного отчета Вам необходимо проверить настройки (Источники данных (ODBC) в п анели управления. В разделе системный DNS добавьте коннектор, который будет смотреть на Ваш сервер SQL . Также проверьте, что для Ваш ей учетн ой записи доступны те вьюхи и те таблицы которые вам нужны для отчета. После настройки ODBC мы откр ываем Microsoft Office Excel.
На листе 2 пишем период отчета.

Переходим на страницу куда будут выгружаться данны е. Я переименовал страницу «Лист1» в «Запрос». Теперь необходимо сделать связку на наш SQL сервер «Действие >Импорт внешних данных > Создать запрос»

В данном окне Вам необходимо вбить логин и пароль на доступ к SQL серверу. Который Вам должен предоставить администратор SQL сервера.

В водим пароль и логин.
Далее вываливается список доступных таблиц и вьюх по данному логину.

Жмем отмена.
В диалоговом окне « Microsoft Query »

Выбираем вьюху или таблицу из которой вам нужно выгружать данные.

Видим такую картинку

Нажать на эту кнопку.

Выбираем поле дата_создания и в значении пишем
Внимание: Если у Вас для выгрузки используется другое поле, не ДАТА_СОЗДАНИЯ, как у меня, то Вам нужно указать ключ по которому Вы будете выгружать данные из базы.(Можно без ключа, только не забывайте про ограничения Exl )

Теперь сохраняем запрос.


Дважды щелкнуть на * (Левой кнопкой мыши)

Указать начало периода.

Указать окончание периода.

Получили данные, теперь их нужно загрузить в эксель.
Нажмите «Файл» «Вернуть данные в Microsoft Office Excel»

Указали строчку с которой начнутся выгружаться данные.
На листе «Запрос»

Нажимаем на Параметры

Видим картинку параметров.

Выбираем нижнее значение и указываем поле, в котором будет указанна дата начала периода.
То, что указанно на Листе 2


Теперь выбираем окончание периода. Тоже самое только на строчку ниже.



Жмем ок
Теперь сохраняем файл.
Переименовываем страницу.

Ну а дальше дело техники.

Теперь для обновления отчета Вам понадобится только сменить интервал времени и обновить данные на листе «Запрос». Правой кнопкой на данные и выбрать пункт «Обновить запрос»
Мы получили данные с SQL в Microsoft Office Excel. Для анализа данных используете связанные таблицы, или Вы можете написать свои VB скрипты.
Выгрузка данных из SQL в Excel
Microsoft Office Excel явялется очень удобным средством для работы с табличными данными, построением отчетов и т.д. Разрботчики языка C# предусмотрели возможность для работы и с Excel. У разработчиков есть возможность выгружать данные напрямую в документ, создавать сводные отчеты, диагарммы, в общем делать всё, что можно делать напрямую в документе Excel. В этой статье, мы будем выгружать из базы данных SQL данные в документ Excel.
При написании статьи использовался Microsoft Office 2003. Но думаю, что для других версий этот код будет тоже работать.
Чтобы иметь возможность работать с Excel нем необходимо подключить ссылку на библиотеку Microsoft Excel Object Library. Вызвав конткстное меню на Reference выбираем Add Reference (рис. 1). В появившемся окне выбираем Microsoft.Office.Interop.Excel.

Рис. 1 Добавить ссылку

Рис. 2 Add Reference Необходимые подготовительные действия мы выполнили, теперь займемся программированием. Для начала подключим необходимое простанство имен:
Для работы с SQL
using System.Data.SqlClient;
для удобной работы с Excel создадим псевдоним для простанства имен:
using Excel = Microsoft.Office.Interop.Excel;
Сначала займемся методом, который будет выгружать данные из SQL в DataTable:
private DataTable GetData() < //строка соединения string connString = @"Data Source=DEVELOPER;Initial Catalog=Northwind;Integrated Security=SSPI; Connection Timeout=260"; SqlConnection con = new SqlConnection(connString); DataTable dt = new DataTable(); try < string query = @"SELECT Customers.CompanyName, Customers.ContactName, Orders.ShipVia, Orders.Freight, Orders.ShipName, Orders.ShipAddress, Orders.ShipCity, Orders.ShipRegion, Orders.ShipPostalCode, Orders.ShipCountry FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID"; SqlCommand comm = new SqlCommand(query, con); con.Open(); SqlDataAdapter da = new SqlDataAdapter(comm); DataSet ds = new DataSet(); da.Fill(ds); dt = ds.Tables[0]; >catch(Exception ex) < MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); >finally < con.Close(); con.Dispose(); >return dt; >
У нас есть данные, теперь необходимо загрузить их в ексель. Делается это очень просто, простым перебором строк и колонок DataTable:
private void button1_Click(object sender, EventArgs e) < xlApp = new Excel.Application(); try < //добавляем книгу xlApp.Workbooks.Add(Type.Missing); //делаем временно неактивным документ xlApp.Interactive = false; xlApp.EnableEvents = false; //выбираем лист на котором будем работать (Лист 1) xlSheet = (Excel.Worksheet)xlApp.Sheets[1]; //Название листа xlSheet.Name = "Данные"; //Выгрузка данных DataTable dt = GetData(); int collInd = 0; int rowInd = 0; string data = ""; //называем колонки for (int i = 0; i < dt.Columns.Count; i++) < data = dt.Columns[i].ColumnName.ToString(); xlSheet.Cells[1, i + 1] = data; //выделяем первую строку xlSheetRange = xlSheet.get_Range("A1:Z1", Type.Missing); //делаем полужирный текст и перенос слов xlSheetRange.WrapText = true; xlSheetRange.Font.Bold = true; >//заполняем строки for (rowInd = 0; rowInd < dt.Rows.Count; rowInd++) < for (collInd = 0; collInd < dt.Columns.Count; collInd++) < data = dt.Rows[rowInd].ItemArray[collInd].ToString(); xlSheet.Cells[rowInd + 2, collInd + 1] = data; >> //выбираем всю область данных xlSheetRange = xlSheet.UsedRange; //выравниваем строки и колонки по их содержимому xlSheetRange.Columns.AutoFit(); xlSheetRange.Rows.AutoFit(); > catch (Exception ex) < MessageBox.Show(ex.ToString()); >finally < //Показываем ексель xlApp.Visible = true; xlApp.Interactive = true; xlApp.ScreenUpdating = true; xlApp.UserControl = true; //Отсоединяемся от Excel releaseObject(xlSheetRange); releaseObject(xlSheet); releaseObject(xlApp); >>
Освобождаем ресурсы и отсоединяемся от ексель:
//Освобождаем ресуры (закрываем Excel) void releaseObject(object obj) < try < System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); obj = null; >catch (Exception ex) < obj = null; MessageBox.Show(ex.ToString(), "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Information); >finally < GC.Collect(); >>
В результате, после завершения работы программы, будет открыт документ Excel с данными, которые мы хотели выгрузить.
- February 2014 (1)
- January 2014 (1)
- March 2013 (2)
- February 2013 (2)
- November 2012 (1)
- October 2012 (2)
- July 2012 (3)
- May 2012 (2)
- January 2012 (4)
- December 2011 (3)
- November 2011 (14)
- October 2011 (1)