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