programing

EPLus를 사용하여 .xls 파일을 읽으려고 할 때 오류가 발생했습니다.

starjava 2023. 10. 29. 18:57
반응형

EPLus를 사용하여 .xls 파일을 읽으려고 할 때 오류가 발생했습니다.

다음 코드는 .xlsx에 대해 정상적으로 작동하지만 .xls에는 작동하지 않습니다.이 오류 메시지를 받았습니다.

패키지를 열 수 없습니다.패키지는 OLE 복합 문서입니다.암호화된 패키지일 경우 암호를 입력하십시오.

코드

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());
}

어떻게 하면 올바르게 할 수 있습니까?

EPLus는 XLS 포맷과 함께 작동하지 않습니다.XLSX만.새 도서관을 찾아야 할 겁니다.

저는 Tony의 답변 https://stackoverflow.com/a/18904633/306515 을 성공적으로 사용하고 Microsoft를 사용하여 간단히 변환했습니다.사무실.인터럽트.Excel 그리고 여전히 eplus를 사용할 수 있습니다.

언급URL : https://stackoverflow.com/questions/26152215/error-when-trying-to-read-an-xls-file-using-epplus

반응형