[英]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.