2017-02-17 1 views
1

보고서가 있는데 대화 상자없이 직접 저장하고 싶습니다. \ 임시 \의 123.doc을 (대화하지 않고 탐색기에서) :보고서를 .doc에 직접 저장하는 방법은 무엇입니까?

여기 사람이 어떻게 C에 직접 파일을 저장하는 데 도움이 이제

  SaveFileDialog saveFileDialog = new SaveFileDialog(); 
      saveFileDialog.InitialDirectory = @"C:\temp"; 
      saveFileDialog.RestoreDirectory = true; 
      saveFileDialog.Title = "Browse Text Files"; 
      saveFileDialog.DefaultExt = "doc"; 
      saveFileDialog.Filter = "Word Doc (*.doc)|*.doc|PDF (*.pdf)| *.pdf"; 
      saveFileDialog.CheckFileExists = false; 
      saveFileDialog.CheckPathExists = true; 

      Warning[] warnings; 
      string[] streams; 
      string mimeType; 
      string encoding; 
      string extension; 

      byte[] bytes = reportTest.LocalReport.Render("Word", null, out mimeType, out encoding, out extension, out streams, out warnings); 

      //if (saveFileDialog.ShowDialog() == DialogResult.OK) 
      //{ 
       saveFileDialog.FileName = "123.doc"; 
       var filename = saveFileDialog.FileName; 
       System.IO.FileStream file = new FileStream(filename, FileMode.Create); 
       file.Write(bytes, 0, bytes.Length); 
       file.Close(); 
      //} 

때까지 내 코드입니다.

고맙습니다.

답변

0

직접 경로와 파일 이름

filename="PATH" + "test.doc"; 
System.IO.FileStream file = new FileStream(filename, FileMode.Create); 
+0

퍼펙이 저장할 수 있습니다! 감사! – Jocelyn

+1

스트림을 처리하는 것을 잊지 마십시오. 스트림을'using'으로 감싸서 처리하거나 그냥 도우미 메소드'System.IO.File.WriteAllBytes (path, bytes)'를 사용할 수 있습니다. 출처 : https://msdn.microsoft.com/en-us/library/system.io.file.writeallbytes(v=vs.110).aspx –

관련 문제