2011-03-01 45 views
3

對於Visual Studio。2005的Crystal報告,您可以將報告 導出爲各種文件格式,如pdf,excel,word,rpt等。如果我只想限制 用戶只能看到excel和word格式,並將默認文件 格式設置爲excel,有沒有辦法做到這一點?有時候太多的選擇是 不好,是嗎?如何限制水晶報告中的導出格式

回答

1

你沒有提到你是否使用C#/ VB.NET或Web/WinForms。

C#

我不認爲這是可能的。你將不得不實現你自己的導出按鈕。

沿此MSDN article

C#

// Declare variables and get the export options. 
ExportOptions exportOpts = new ExportOptions(); 
ExcelFormatOptions excelFormatOpts = new ExcelFormatOptions(); 
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions(); 
exportOpts = Report.ExportOptions; 

// Set the excel format options. 
excelFormatOpts.ExcelUseConstantColumnWidth = true; 
exportOpts.ExportFormatType = ExportFormatType.Excel; 
exportOpts.FormatOptions = excelFormatOpts; 

// Set the disk file options and export. 
exportOpts.ExportDestinationType = ExportDestinationType.DiskFile; 
diskOpts.DiskFileName = fileName; 
exportOpts.DestinationOptions = diskOpts; 

Report.Export(); 

VB.NET的東西線

' Declare variables and get the export options. 
Dim exportOpts As New ExportOptions() 
Dim diskOpts As New DiskFileDestinationOptions() 
Dim excelFormatOpts As New ExcelFormatOptions() 
exportOpts = Report.ExportOptions 

' Set the excel format options. 
excelFormatOpts.ExcelTabHasColumnHeadings = true 

exportOpts.ExportFormatType = ExportFormatType.Excel 
exportOpts.FormatOptions = excelFormatOpts 

' Set the export format. 
exportOpts.ExportFormatType = ExportFormatType.Excel 

exportOpts.ExportDestinationType = ExportDestinationType.DiskFile 

' Set the disk file options. 
diskOpts.DiskFileName = fileName 
exportOpts.DestinationOptions = diskOpts 

Report.Export() 

VB.NET

您曾經能夠從客戶端安裝中刪除某些導出DLL。即從Excel的DLL文件刪除全部拆開,然後它只會顯示導出選項爲Excel

+0

其他答案適用於我沒有任何其他問題。我使用C#。 – 2013-04-24 07:19:25

4

試試這個:

Dim formats As Integer 
    formats = (CrystalDecisions.Shared.ViewerExportFormats.PdfFormat Or CrystalDecisions.Shared.ViewerExportFormats.XLSXFormat) 

    CrystalReportViewer1.AllowedExportFormats = formats 
4

使用CRVS2010,你可以刪除不需要的導出選項。

CRVS2010的新功能是可以通過查看器導出按鈕修改可用的導出格式。下面的C#示例代碼演示瞭如何設置的CrystalReportViewer只導出爲PDF和Excel文件格式:

int exportFormatFlags = (int)(CrystalDecisions.Shared.ViewerExportFormats.PdfFormat | CrystalDecisions.Shared.ViewerExportFormats.ExcelFormat); 
CrystalReportViewer1.AllowedExportFormats = exportFormatFlags; 

有關詳細信息,請參考以下鏈接..

http://scn.sap.com/community/crystal-reports-for-visual-studio/blog/2011/01/26/export-file-formats-for-sap-crystal-reports-for-vs-2010

2

要禁用水晶報表RTP格式試試這個:

Dim formats As Integer 
formats = (CrystalDecisions.Shared.ViewerExportFormats.AllFormats Xor CrystalDecisions.Shared.ViewerExportFormats.RptFormat) 

CrystalReportViewer1.AllowedExportFormats = formats 

Or Short Version : 

CrystalReportViewer1.AllowedExportFormats = (CrystalDecisions.Shared.ViewerExportFormats.AllFormats Xor CrystalDecisions.Shared.ViewerExportFormats.RptFormat) 
+0

你已經度過了我的一天。我打算通過委託來實現自定義導出功能(已經爲打印按鈕完成):不難做到,但我必須手動管理所有導出選項。您的解決方案更簡單,只需一行代碼即可。 – 2016-11-11 16:07:42