2017-02-17 55 views
1

У меня есть отчет, и я хочу сохранить его напрямую без диалога.Как сохранить отчет непосредственно в .doc?

Здесь пока мой код до сих пор

  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(); 
      //} 

Может кто-то помочь мне, как сохранить файл непосредственно в C: \ Temp \ 123.doc (без диалога в проводнике).

Большое спасибо!

ответ

0

Вы можете напрямую сохранить это с путь и имя файла

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

Отлично! Благодаря! – Jocelyn

+1

Не забудьте удалить поток или у вас будет плохое время - вы можете обернуть поток в 'using', чтобы сделать это, или просто использовать вспомогательный метод' System.IO.File.WriteAllBytes (путь, байты) ' source: https://msdn.microsoft.com/en-us/library/system.io.file.writeallbytes(v=vs.110).aspx –

 Смежные вопросы

  • Нет связанных вопросов^_^