Le code suivant fonctionne correctement pour .xlsx, mais il ne fonctionne pas pour .xls. J'ai ce message d'erreur
Impossible d'ouvrir le paquet. Le package est un OLE document composé. S'il s'agit d'un package 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 dois-je procéder correctement?
EPPlus ne fonctionne pas avec le format XLS. Uniquement XLSX. Vous devrez trouver une nouvelle bibliothèque.
J'ai utilisé avec succès la réponse de Tony https://stackoverflow.com/a/18904633/306515 et simplement la convertir à l'aide de Microsoft.Office.Interop.Excel et je peux toujours utiliser epplus