如何将xlsstream文件转换为xlsxstream而不保存到硬盘

我的C#应用​​程序需要从Excel文件插入数据。 我正在使用Epplus库来读取Excel文件。 问题是Epplus不能使用Excel 2003 XLS文件,所以我需要将XLS格式转换为XLSX格式。

要将XLS转换为XLSX,我必须将XLS保存到硬盘上。 然后我必须读取XLS文件并保存一个新的XLSX文件,以便在硬盘上有两个文件。

无论如何,我可以将XLS格式的文件转换为XLSX格式,而不必保存物理文件?

这是我的代码:

if (extention == ".xls") { string serverPath = HttpContext.Current.Server.MapPath("~/TempData"); if (!Directory.Exists(serverPath)) { Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~")+ "\\Tempdata"); } string fn = serverPath + "\\" + file.FileName; file.SaveAs(fn); string fileName = file.FileName.Replace(extention, ""); string fullName = serverPath +"\\"+ fileName + ".xlsx"; var app = new Microsoft.Office.Interop.Excel.Application(); app.Visible = false; try { var wb = app.Workbooks.Open(fn); wb.SaveAs(Filename: fullName , FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook); wb.Close(0); app.Quit(); xlsStream = new FileStream(fullName, FileMode.Open); } catch (Exception ex) { app.Quit(); _logger.InsertLog(LogLevel.Error, ex.Message, ex.Message); } }