Печать excel документа. Открыть окно выбора принтера - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Мне нужно распечатывать эксель документ, но не сразу, чтобы он начал печататься, а появилось окно выбора параметров принтера. Такое реально сделать?
        public RelayCommand<ApplicationViewModel> PrintMapOrderCommand
        {
            get
            {
                return _printMapOrderCommand ?? (_printMapOrderCommand = new RelayCommand<ApplicationViewModel>(
                    async (app) =>
                    {
                        MemoryStream stream = await DataManager.Instance.GetMapOrderStreamAsync(app.Id);
                        if (stream != null)
                        {
                            await Task.Factory.StartNew(() =>
                            {
                                string tempFileName = Path.GetTempFileName();
                                tempFileName = tempFileName.Substring(0, tempFileName.Length - 3);
                                tempFileName += "xlsx";
                                using (FileStream fs = File.Create(tempFileName))
                                {
                                    stream.CopyTo(fs);
                                }
 
                                Process pr = new Process();
                                try
                                {
                                    //Печать файла
                                    pr.StartInfo.FileName = tempFileName;
                                    pr.StartInfo.CreateNoWindow = true;
                                    //pr.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                                    pr.StartInfo.Verb = "Print";
                                    pr.Start();
                                    pr.WaitForExit();
                                }
                                catch (Exception ex)
                                {
                                    Dialog.Instance.OpenMessageDialog(ex.Message, "Ошибка");
                                }
                                finally
                                {
                                    pr.Dispose();
                                }
                            });
                        }
                    }));
            }
        }

Решение задачи: «Печать excel документа. Открыть окно выбора принтера»

textual
Листинг программы
bool userDidntCancel =
    excelApp.Dialogs[Excel.XlBuiltInDialog.xlDialogPrint].Show(
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5