C#Epplus将字节文件保存为桌面应用程序中的XLS

我需要将ExcelPackage保存为XLS文件。 我尝试这样做,我知道如何更改Web应用程序中的内容types,但我无法在桌面环境中find任何解决scheme。

现在我正在使用这个代码:

using (ExcelPackage p = new ExcelPackage()) { string filename = "OCL_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; string PathToCSV = "App_Data/OCL/"; string OCLfolder = AppDomain.CurrentDomain.BaseDirectory + PathToCSV; string savepath = OCLfolder + "/" + filename; System.IO.FileInfo strfilePath = new System.IO.FileInfo(savepath); //create a new workbook p.Workbook.Properties.Created = DateTime.Now; p.Workbook.Properties.Title = filename; //create a new worksheet p.Workbook.Worksheets.Add(filename); ExcelWorksheet ws = p.Workbook.Worksheets[1]; createExcelData(ws, idCliente, idDestinatario, idSpedDati); ws.Cells[ws.Dimension.Address].AutoFitColumns(); for (int col = 1; col <= ws.Dimension.End.Column; col++) { ws.Column(col).Width = ws.Column(col).Width + 1; } byte[] bin = p.GetAsByteArray(); strfilePath.Directory.Create(); File.WriteAllBytes(savepath, bin); return savepath; } 

如果我将文件保存为.xlsx我没有问题,但如果我保存为.xls我打开文件之前有一个错误:

“文件格式不同于文件扩展名指定的格式”

EPPlus不能使用XLS格式。 只有XLSX。

如果你的客户坚持使用.XLS格式,并且你不能说服他们更新到MS真正支持的东西,那么我build议你看一下使用NPOI ,这是一个开源项目,用于读取/写入较旧的文件MS Office格式