![]() |
Printing an existing excel file in C#
Hi,
I have an xls file i would like to printout from my application. So far i have found this example for printing in general Process pr = new Process(); pr.StartInfo.FileName = "MyFile.xls"; pr.StartInfo.CreateNoWindow = true; pr.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; pr.StartInfo.Verb = "Print"; pr.Start(); pr.WaitForExit(); pr.Dispose(); this prints good but the problem i would like to hide excel from the user or find an alternative way to print the file, without user being aware of any other processes except printing, any ideas or help i greatly appreciated |
Printing an existing excel file in C#
"Miran" wrote:
Hi, I have an xls file i would like to printout from my application. So far i have found this example for printing in general Process pr = new Process(); pr.StartInfo.FileName = "MyFile.xls"; pr.StartInfo.CreateNoWindow = true; pr.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; pr.StartInfo.Verb = "Print"; pr.Start(); pr.WaitForExit(); pr.Dispose(); this prints good but the problem i would like to hide excel from the user or find an alternative way to print the file, without user being aware of any other processes except printing, any ideas or help i greatly appreciated You could use COM interop and Excel object model to set Application.Visible to false, open the file you want and print it: using System; using System.Reflection; using Microsoft.Office.Interop.Excel; class XLPrintTest { static void Main() { Application ExcelApp = new Application (); ExcelApp.Visible = false; ExcelApp.DisplayAlerts = false; Workbook WBook = ExcelApp.Workbooks.Open ", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); WBook.PrintOut (Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); WBook.Close (false, Missing.Value, Missing.Value); ExcelApp.Quit (); } } -- urkec |
Printing an existing excel file in C#
thx for solving the problem
"urkec" wrote: "Miran" wrote: Hi, I have an xls file i would like to printout from my application. So far i have found this example for printing in general Process pr = new Process(); pr.StartInfo.FileName = "MyFile.xls"; pr.StartInfo.CreateNoWindow = true; pr.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; pr.StartInfo.Verb = "Print"; pr.Start(); pr.WaitForExit(); pr.Dispose(); this prints good but the problem i would like to hide excel from the user or find an alternative way to print the file, without user being aware of any other processes except printing, any ideas or help i greatly appreciated You could use COM interop and Excel object model to set Application.Visible to false, open the file you want and print it: using System; using System.Reflection; using Microsoft.Office.Interop.Excel; class XLPrintTest { static void Main() { Application ExcelApp = new Application (); ExcelApp.Visible = false; ExcelApp.DisplayAlerts = false; Workbook WBook = ExcelApp.Workbooks.Open ", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); WBook.PrintOut (Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); WBook.Close (false, Missing.Value, Missing.Value); ExcelApp.Quit (); } } -- urkec |
All times are GMT +1. The time now is 09:57 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com