簡體   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