Печать 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);