Я работаю над одним отчетом Excel 2010, используя одну книгу с несколькими листами. На первом листе есть поле для ввода номера, и после обновления он передает этот номер хранимой процедуре на SQL-сервере, а SQL-сервер отправляет различные ответы на каждый рабочий лист.

Кажется, я не могу просто взять эту электронную таблицу и заставить ее работать на других компьютерах без сбоев DSN, и после ее повторного создания локально форматирование электронной таблицы просто разваливается. Это для печати, поэтому любое изменение форматирования недопустимо.

Все компьютеры, в том числе и мой, одинаковы, с 64-битной Windows 7, Office 10, все пользователи проходят аутентификацию через домен, без локальной регистрации.

Это положительно, я не делаю что-то правильно. Во-первых, я не уверен, что использовать - системный или пользовательский DSN. Тогда я не уверен, как создать / установить и перенести этот файл DSN в правильное местоположение. У меня нет доступа к ПК пользователя, и я хочу отправить электронную таблицу, уведомление о доставке и инструкции по установке администратору инфраструктуры, который собирается установить его для всех, кто его запрашивает, вместо того, чтобы он сам это выяснил.

Имя входа SQL - это учетная запись пользователя с достаточным доступом к базе данных, а не учетная запись домена, она доступна только для чтения, и я могу заставить ее работать каждый раз, когда создаю DSN пользователя на компьютере - но потом я волнуюсь если другой пользователь войдет в систему (помощник менеджера или кто-либо еще), DSN снова выйдет из строя. И снова, каждый раз, когда я делаю это, форматирование исчезает.

Существует ли способ создания сетевого DSN на общем ресурсе (существует T-образное устройство, отображающее все, включая гостей домена, которые имеют по крайней мере доступ для чтения). У меня есть запись в него, но когда я это делаю, я не вижу DSN из Excel. Предполагается, что такой DSN входит в определенный сетевой ресурс, а не только в какой-либо общий ресурс?

Каково было бы действительно прямое решение для этого, которое работает в этой стандартизированной среде для любого пользователя на любом ПК? Я предполагаю, что моя главная задача - увидеть, что при копировании файла Excel что-то изменится в форматировании. В любом случае, я мог сделать эту работу до сих пор, просто уничтожив форматы динамического поля. Все отчеты имеют неизвестные и постоянно меняющиеся числа строк, и копирование данных между листами будет работать с большими диапазонами, но это мое последнее средство.

В нашей производственной среде мне повезло, когда я могу получить доступ к любой другой рабочей станции в течение 15 минут, чтобы разобраться с этим.

Через несколько часов я снова собираюсь на работу и готов попробовать что угодно.

РЕДАКТИРОВАТЬ: В Excel я использую "Из другого источника", выберите "Из SQL Server", затем я ввожу всю информацию о соединении, и я могу выполнить sproc «EXECUTE dbo.xxx?", где знак вопроса - это стоимость рабочего задания.

Но это работает только на рабочей станции, где я создал соединение, у меня нет понятия, что или как сохранить и поделиться этой информацией о соединении в файле. Я хотел бы упаковать электронную таблицу, текстовый файл с «Provider = SQLOLEDB ... и т.д.» И перенести оба на другой компьютер вместо того, чтобы наш администратор шел с рабочей станции на рабочую станцию и прошел этот процесс конфигурации Excel.

Кроме того, каждый раз, когда я заново создаю соединение, динамические поля меняются местами, и форматирование размера теряется.

Результат SQL-запроса

Результат, когда он работает правильно, выглядит так. Только записи под строкой Штрих-кодов удаляются непосредственно из SQL, остальные копируются / вычисляются из других листов.

0