Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.Office.Interop.Excel;
- using System;
- using System.IO;
- namespace MultipleExcelToPDF
- {
- public class LibrarieClass
- {
- private static Application excelApplication = null;
- private static Workbook excelWorkBook = null;
- private static object paramMissing = Type.Missing;
- public static int SearchDirectoryTree(string path, out string[] XLSfiles)
- {
- XLSfiles = Directory.GetFiles(path, "*.xls", SearchOption.AllDirectories);
- return XLSfiles.Length;
- }
- public static void ProcessFiles(string[] XLSfiles)
- {
- excelApplication = new Application();
- foreach (string filePath in XLSfiles)
- {
- string paramSourceBookPath = filePath;
- // Get Extension of filePath
- string extension = Path.GetExtension(filePath);
- string paramExportFilePath = filePath.Replace(extension, ".pdf"); // Replace Extension .xls or .xlsx
- XlFixedFormatType paramExportFormat = XlFixedFormatType.xlTypePDF;
- XlFixedFormatQuality paramExportQuality = XlFixedFormatQuality.xlQualityStandard;
- bool paramOpenAfterPublish = false; // not open the pdf file after publish
- bool paramIncludeDocProps = true;
- bool paramIgnorePrintAreas = true;
- object paramFromPage = Type.Missing;
- object paramToPage = Type.Missing;
- // Open the source workbook
- excelWorkBook = excelApplication.Workbooks.Open(paramSourceBookPath,
- paramMissing, paramMissing, paramMissing, paramMissing,
- paramMissing, paramMissing, paramMissing, paramMissing,
- paramMissing, paramMissing, paramMissing, paramMissing,
- paramMissing, paramMissing);
- // Save it in the target format
- if (excelWorkBook != null)
- excelWorkBook.ExportAsFixedFormat(paramExportFormat,
- paramExportFilePath, paramExportQuality,
- paramIncludeDocProps, paramIgnorePrintAreas, paramFromPage,
- paramToPage, paramOpenAfterPublish,
- paramMissing);
- CloseWorkBook();
- }
- QuitExcel();
- }
- public static void CloseWorkBook()
- {
- // Close the workbook object
- if (excelWorkBook != null)
- {
- excelWorkBook.Close(false, paramMissing, paramMissing);
- excelWorkBook = null;
- }
- }
- public static void QuitExcel()
- {
- // Quit Excel and release the ApplicationClass object
- if (excelApplication != null)
- {
- excelApplication.Quit();
- excelApplication = null;
- }
- GC.Collect();
- GC.WaitForPendingFinalizers();
- }
- public static int ContextualCall(string folderPath)
- {
- int count = 0;
- try
- {
- count = SearchDirectoryTree(folderPath, out string[] XLSFiles);
- ProcessFiles(XLSFiles);
- }
- catch
- {
- CloseWorkBook();
- QuitExcel();
- }
- return count;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment