2014-10-01 11 views
8

Der folgende Code funktioniert für .xlsx, funktioniert aber nicht für .xls. Ich habe diese Fehlermeldung erhaltenFehler beim Versuch, eine .xls-Datei mit EPPlus zu lesen

Kann das Paket nicht öffnen. Das Paket ist ein OLE-Verbunddokument. Wenn dies ein verschlüsseltes Paket ist, geben Sie bitte das Passwort

-Code

string filepath = txtBrowse.Text; 

FileStream stream = System.IO.File.Open(filepath, FileMode.Open, FileAccess.ReadWrite); 
//1. Reading from a binary Excel file ('97-2003 format; *.xls) 
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream); 

FileInfo newFile = new FileInfo(filepath); 

using (ExcelPackage package = new ExcelPackage(newFile)) 
{ 
    string sheetName = System.DateTime.Now.ToShortDateString(); 

    foreach (OfficeOpenXml.ExcelWorksheet sheet in package.Workbook.Worksheets) 
    { 
     // Check the name of the current sheet 
     if (sheet.Name == sheetName) 
     { 
      package.Workbook.Worksheets.Delete(sheetName); 
      break; // Exit the loop now 
     } 
    } 

    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(System.DateTime.Now.ToShortDateString()); 
} 

Wie mache ich das richtig?

Antwort

19

EPPlus funktioniert nicht mit dem XLS-Format. Nur XLSX. Sie müssen eine neue Bibliothek finden.

+1

Vielen Dank für ur Antwort verwendet. Aber können Sie irgendeinen Vorschlag machen, der einfach zu lesen und zu bearbeiten ist? Da mein Projekt abgeschlossen ist, möchte ich nur einen Code von epplus bearbeiten. – user3151262

+4

@ user3151262, NPOI funktioniert für .xls und .xlsx 'https: // npoi.codeplex.com /' – user3473830

Verwandte Themen