Невозможно установить свойство Orientation класса PageSetup в программе Excel
Я написал следующий код в.Net
excel = New Excel.Application
wBook = excel.Workbooks.Add()
wSheet = wBook.ActiveSheet()
wSheet.PageSetup.Orientation = XlPageOrientation.xlLandscape
Когда я запускаю это из локальной системы, он работает, и когда я копирую это на сервер, он запускается из службы, выдающей следующую ошибку.
Невозможно установить свойство Orientation класса PageSetup
4 ответа
Класс PageSetup в Excel должен взаимодействовать с драйверами принтера на сервере. Если драйверы принтера не установлены или доступ к ним ограничен, любые вызовы этого класса с исключением.
Убедитесь, что на сервере установлен принтер по умолчанию и установлены драйверы принтера. Кроме того, если вы обращаетесь к нему через ASP.net, существуют проблемы с доступом, и вы должны убедиться, что у учетной записи ASP.Net есть разрешение на доступ к принтеру. См. Эту статью, в которой более подробно рассматриваются некоторые проблемы: http://support.microsoft.com/?id=291298
В целом, если вы используете Office 2007 или более позднюю версию, вам следует избегать автоматизации на стороне сервера, поскольку это может привести к нестабильному поведению - по возможности используйте форматы Open XML. См. http://support.microsoft.com/kb/257757
Проверьте "принтер по умолчанию" на странице "Устройства и принтеры".
Если какой-либо (перенаправленный) принтер используется по умолчанию, измените его. Принтер по умолчанию не должен быть перенаправленным.
Я не уверен, что вы делаете приложение ASP.net. Но вот что я получил.
У меня есть ASP 4.0, и мой код в основном генерирует файл Excel. После создания файла Excel я экспортирую его в формат PDF. Это вызывает ту же проблему, что и у вас.
Чтобы решить эту проблему, установите True для профиля пользователя. Он находится в AppPool. щелкните правой кнопкой мыши, и вы увидите это свойство.
Как указала BgRva, вам необходимо установить драйверы принтера. Класс PageSetup в Excel должен взаимодействовать с драйверами принтера
У меня похожая проблема при запуске связанного кода в Windows 8, работающей под Mac Parallels (виртуальная машина). Для тех, кто занимается развертыванием Visual Studio на Mac Parallels, вот что я делаю:
- Отключите общий доступ к принтерам между Mac и Windows. Перейдите в Parallels (VM) > Настроить> Оборудование и нажмите Печать. Снимите флажок "Добавить все принтеры Mac" и "Синхронизировать принтер по умолчанию"
- Установите драйвер принтера в Windows
- Чтобы получить назначенный IP-адрес одним и тем же беспроводным маршрутизатором (если вам необходимо подключиться к принтеру по беспроводной сети), вам нужно настроить сеть как мостовую. Перейдите в Parallels (VM) > Конфигурировать> Оборудование> "Сеть 1" и выберите "Тип сети" в качестве аэропорта и DHCP-сервер в качестве "Авто"