D'erreur lorsque vous essayez de lire un .xls fichier à l'aide de EPPlus
Le code suivant fonctionne bien pour .xlsx, mais il ne fonctionne pas pour .xls. J'ai eu ce message d'erreur
Ne pouvez pas ouvrir le paquet. Package est un document composé OLE. Si c'est crypté, veuillez fournir le mot de passe
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());
}
Comment puis-je faire cela correctement?
OriginalL'auteur user3151262 | 2014-10-01
Vous devez vous connecter pour publier un commentaire.
EPPlus ne fonctionne pas avec le format XLS. Seulement XLSX. Vous aurez besoin de trouver une nouvelle bibliothèque.
fonctionne pour les deux .xls et .xlsx
https://npoi.codeplex.com/
OriginalL'auteur Cory Nelson
J'ai utilisé avec succès de Tony réponse https://stackoverflow.com/a/18904633/306515 et de convertir simplement à l'aide de Microsoft.Bureau de.Interop.Excel et peut encore utiliser ensuite epplus
OriginalL'auteur ajwaka