2010-12-06 29 views
4

我已經寫了下面的代碼在.net無法設置PageSetup類的方向屬性在Excel程序

excel = New Excel.Application 
wBook = excel.Workbooks.Add() 
wSheet = wBook.ActiveSheet() 
wSheet.PageSetup.Orientation = XlPageOrientation.xlLandscape 

當我運行這個本地系統正這是工作,當我這個複製到服務器和將從提供以下錯誤的服務運行。

無法設置PageSetup類

回答

5

PageSetup類的Excel必須與服務器上的打印機驅動程序進行交互的方向屬性。如果沒有安裝打印機驅動程序或對其進行訪問受限,則對此類的任何調用都會引發異常。

您應確保在服務器上設置了默認打印機,並且安裝了打印機驅動程序。此外,如果您是通過ASP.net訪問此網站,則存在訪問問題,您應確保ASP.Net帳戶有權訪問該打印機。請參閱本文,其中詳細列出了一些問題:http://support.microsoft.com/?id=291298

通常,如果您使用的是Office 2007或更高版本,則應避免服務器端自動化,因爲這可能會造成不穩定的行爲 - 使用Open XML格式if可能。請參閱http://support.microsoft.com/kb/257757

1

正如BgRva指出的,您需要安裝打印機驅動程序。 Excel的PageSetup類必須與打印機驅動程序進行通信

我在運行Mac Parallels(虛擬機)的Windows 8上運行相關代碼時出現類似問題。對於任何正在Mac Parallels上部署Visual Studio的人,以下是我在做的:

  1. 禁用打印機在Mac和Windows之間共享。轉至Parallels (VM)>配置>硬件,然後單擊打印。取消選中「添加所有的Mac 打印機」和「同步默認打印機」
  2. 安裝打印機的驅動程序在Windows
  3. 爲了通過相同的無線路由器 獲得分配的IP地址(如果你需要連接到打印機無線),你需要將橋接設置爲 。轉到Parallels的 (VM)>配置>硬件>「網絡1」,然後選擇網絡類型爲機場和DHCP服務器自動
2

我不知道,如果你正在做的ASP.net應用。但這是我得到的。

我有一個ASP 4.0和我的代碼基本上生成一個Excel文件。一旦生成excel文件,我將其導出爲pdf。這導致你有同樣的問題。

解決它的方法是將 加載用戶配置文件設置爲true 它位於AppPool下。右擊它,你會看到這個屬性。

0

檢查「設備和打印機」頁面中的「默認打印機」。

如果有任何(重定向)打印機是默認更改它。默認打印機不能是任何「重定向」的打印機。