我需要将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我没有问题但是如果我保存为.xls我在打开文件之前有错误:
“文件格式与文件扩展名的格式不同 指定“
答案 0 :(得分:2)
EPPlus不适用于XLS格式。只有XLSX。
答案 1 :(得分:1)
如果您的客户坚持使用.XLS格式并且您无法说服他们更新到MS实际支持的内容,那么我建议您查看使用NPOI,一个开源项目,以旧的MS Office格式读/写文件