/// <summary> /// Converts a proprietary MS old format (xls) to the Open Office (xlsx). /// -A.Amato, 2016 11 /// </summary> /// <param name="fileName">Path and file name to convert.</param> /// <returns>True if successfull, False otherwise.</returns> public static bool ConvertXLStoXLSX(string fileName = null) { if (string.IsNullOrEmpty(fileName)) { return(false); } FileInfo fileInfo = new FileInfo(fileName); if (fileInfo.Exists && (fileInfo.Extension == ".xls")) { //Excel.ApplicationClass ExApp = new Excel.ApplicationClass(); Excel.Workbook ExWB; // = new Excel.Workbook(); try { Excel.Worksheet ExWS = new Excel.Worksheet(); if (ExApp == null) { ExApp = new Excel.ApplicationClass(); } FileOps.RemoveAttributes(fileName); ExWB = ExApp.Workbooks.Open(fileName, 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); fileName = Path.ChangeExtension(fileName, ".xlsx"); ExApp.DisplayAlerts = false; FileInfo FileToSaveInfo = new FileInfo(fileName); if (FileToSaveInfo.Exists) { FileToSaveInfo.Delete(); } ExWB.SaveAs(fileName, Excel.XlFileFormat.xlOpenXMLWorkbook,//.xlOpenXMLStrictWorkbook, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); ExWB.Close(); ExApp.DisplayAlerts = true; Logger.PrintLC("File " + fileInfo.Name + " converted successfully to XLSX", 3); Marshal.FinalReleaseComObject(ExWB); Marshal.FinalReleaseComObject(ExWS); //Marshal.FinalReleaseComObject(ExApp); } catch (Exception exp) { Logger.PrintLC("File " + fileInfo.Name + " could not be converted to XLSX. Error: " + exp.Message, 3); return(false); } } else { return(false); } return(true); }
/// <summary> /// Converts a Open Office (xlsx) file to the proprietary MS old format (xls). /// -A.Amato, 2016 11 /// </summary> /// <param name="fileName">Path and file name to convert.</param> /// <returns>True if successfull, False otherwise.</returns> public static bool ConvertXLSXtoXLS(string fileName = null) { if (string.IsNullOrEmpty(fileName)) { return(false); } if (ExApp == null) { return(false); } FileInfo fileInfo = new FileInfo(fileName); if (fileInfo.Exists && (fileInfo.Extension == ".xlsx")) { //Excel.ApplicationClass ExApp = new Excel.ApplicationClass(); Excel.Workbook ExWB; // = new Excel.Workbook(); try { Excel.Worksheet ExWS = new Excel.Worksheet(); ExWB = ExApp.Workbooks.Open(fileName, 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); fileName = Path.ChangeExtension(fileName, ".xls"); //.Replace(".xlsx", ".xls"); ExApp.DisplayAlerts = false; FileInfo FileToSaveInfo = new FileInfo(fileName); if (FileToSaveInfo.Exists) { FileToSaveInfo.Delete(); } ExWB.SaveAs(fileName, Excel.XlFileFormat.xlExcel8, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); ExWB.Close(); ExApp.DisplayAlerts = true; Marshal.FinalReleaseComObject(ExWB); Marshal.FinalReleaseComObject(ExWS); Marshal.FinalReleaseComObject(ExApp); } catch (Exception exp) { Logger.PrintC("Error: " + exp.Message); return(false); } finally { } } return(true); }