2009-02-06 4 views
3

Я хотел бы знать, как лучше всего переносить данные из веб-сервиса на рабочий лист excel (office 2007). Мне не интересно выводить отчет, чтобы преуспеть с веб-сайта. В нашем сценарии пользователь будет использовать excel (с несколькими макросами и т. Д.) И будет запрашивать около 11000 строк данных с сервера на листе.Sql Server to Excel через веб-службу

У кого-нибудь есть опыт?

благодарит заранее.

+0

Цель состоит из Excel получить данные (данные таблицы) из .NET веб-службы и заполнять рабочий лист как можно более эффективным. Я сделал несколько поисков на линии, но немного удивлен, что эта функциональность на самом деле не является частью Excel 2007. – David

ответ

1

Проверьте в SharePoint и Excel Services - это именно то, что он предназначен для выполнения. Вы можете публиковать источники данных в SharePoint для любых пользователей, которые будут использоваться в Excel, и держать свои электронные таблицы Excel актуальными в хранилище данных. Обзор

Архитектура:

http://technet.microsoft.com/en-us/magazine/2009.02.bookbi.aspx

руководство Реализация в SQL Server Magazine (требуется подписка):

http://www.sqlmag.com/Articles/Index.cfm?ArticleID=99355&pg=2

+0

Нам нужно получить данные из Excel, являющегося клиентским интерфейсом/приложением.Именно Excel должен извлекать данные из веб-службы. – David

+1

ОК, в этом случае ответ - предложение Адамралфа о создании макроса. –

0

Вы можете использовать SQL SSIS для соединения с WebService задачи http://msdn.microsoft.com/en-us/library/ms140114.aspx

Затем сделать типичный ход к месту назначения первенствовать.

+2

Обратите внимание: «Менеджер HTTP-соединений поддерживает только анонимную аутентификацию и базовую аутентификацию. Он не поддерживает проверку подлинности Windows». –

+0

Может ли это работать со сценарием? – Sam

4

Простым решением, которое я использовал в прошлом для получения данных из базы данных в Excel через веб-сервер, является простое отображение данных в виде таблицы на веб-странице. Это можно сделать с использованием любой технологии, например, ASP.NET, который может подключаться к базе данных, возвращает данные и помещает данные в элемент управления GridView.

Затем вы можете настроить «Веб-запрос» в Excel. Это делается с помощью пункта меню «Данные» -> «Импорт внешних данных» -> «Новый веб-запрос». Затем вы можете перейти на свою веб-страницу, выбрать таблицу в качестве источника данных и выбрать диапазон, в который он должен быть записан.

Есть варианты для автоматического обновления, параметры строки запроса (из ячеек рабочего листа) и т.д.

Вы можете автоматизировать освежения вашего веб-запроса как часть более широкого процесса с помощью VBA, например,

Sheet1.QueryTables(1).Refresh 
0

Я недавно использовал систему, которая делала что-то подобное, по сути это было просто книги Excel с некоторыми VB скрипт, который бы назвал веб-сервис. Он также запросил у пользователя учетные данные.

Я не могу опубликовать код, относящийся к электронной таблице, но есть много примеров и информации, таких как this от Microsoft и других учебных пособий/примеров, таких как this.

+0

Это очень хорошие ресурсы. Одна из проблем, которые мы имеем, - это быстро перемещать XML-данные на рабочий лист (без циклов). Есть идеи по этому поводу? спасибо – David