繁体   English   中英

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

[英]C# Epplus Save Byte file as XLS in a Desktop Application

我需要将ExcelPackage保存为XLS文件。 我尝试这样做,我知道如何在Web应用程序中更改内容类型,但是在桌面环境中找不到任何解决方案。

现在我正在使用此代码:

    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,则没有问题,但是如果我另存为.xlsx,则在打开文件之前出现错误:

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

EPPlus不适用于XLS格式。 仅XLSX。

如果您的客户坚持使用.XLS格式,并且您不能说服他们将其更新为MS实际支持的内容,那么建议您使用NPOI (一个用于在较早版本中读取/写入文件的开源项目)来看看MS Office格式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM