C#-打印目录中的所有文件

时间:2019-11-27 15:40:18

标签: c# .net excel winforms printing

我正在寻找一种打印给定目录中所有文件的方法。 每个文件都是我的程序创建的Excel文档。

我尝试使用PrintDocument,但无法弄清楚我实际上如何向PrintDocument指定应该打印哪个文件...

private void PrintSheets(string filepath)
{
            //get directory
            DirectoryInfo dirInfo = new DirectoryInfo(filepath);
            //get all files in directory
            FileInfo[] Files = dirInfo.GetFiles();

            //loop through files
            foreach (FileInfo file in Files)
            {
                //create new print doc
                PrintDocument printDocument = new PrintDocument();
                //select printer
                printDocument.PrinterSettings.PrinterName = cmbSelectPrinter.SelectedItem.ToString();
                //set filename document
                printDocument.DocumentName = file.Name;

                //print the doc
                printDocument.Print();               
            }
}

任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

要打印文件(文档),请指示操作系统进行打印。将Process.Start与打印Verb和文件名一起使用。

操作系统(Windows)将找到正确的应用程序来打开文档(Excel),并向其发送命令以打印文件。

 var fileName = @"C:\Path To Your Excel file.xlsx";

 var startInfo = new ProcessStartInfo(fileName);
 startInfo.Verb = "print";

 Process.Start(startInfo);

PrintDocument是您要自己布局和打印文档的时候。