2014-12-13 54 views
0

我做的應用程序來創建報告,並將其保存爲.PDF在我的電腦創建報表後,我用這個代碼保存爲.PDF渲染和存儲報告文件爲pdf

Try 

     My.Computer.FileSystem.WriteAllBytes("C:\" & Form1.TextBox2.Text & "_Report.pdf", ReportViewer1.LocalReport.Render("pdf"), False) 

     MessageBox.Show("Exported to .pdf file on at location C:\", "Note ", MessageBoxButtons.OK, MessageBoxIcon.Information) 

    Catch ex As Exception 

    End Try 

但是,當我送應用程序給別人它不會在其他計算機上創建.pdf。需要安裝什麼?

回答

1

在現代Windows計算機上,普通用戶沒有權限直接訪問「C:\」目錄。當試圖用你的代碼訪問它時,你會得到一個異常,這在你的示例代碼中被默默地忽略了。

更好的方法是將文件存儲在用戶個人文件夾中。您可以使用GetFolderPath方法獲得它:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 

還看到:http://msdn.microsoft.com/de-de/library/system.environment.specialfolder%28v=vs.110%29.aspx?cs-save-lang=1&cs-lang=vb

+0

所以,如果我使用這樣的「'My.Computer.FileSystem.WriteAllBytes(System.Environment.GetFolderPath(Environment.SpecialFolder .MyDocuments)&Form1.TextBox2.Text&「_Report.pdf」,ReportViewer1.LocalReport.Render(「pdf」),False)' 「我得到了輸出DocumentsName_Report.pdf如何避免此前綴文檔 – Anel 2014-12-13 12:01:23

+0

您需要一個斜槓'\'GetFolderPath後:'My.Computer.FileSystem.WriteAllBytes(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)&「\」&Form1.TextBox2.Text&「_Report.pdf」,ReportViewer1.LocalReport.Render 「pdf」),False)' – Gasamda 2014-12-13 12:07:55