Member 14760154 Ответов: 1

Измените xls на xlsx с помощью eppplus и C#


У меня проблема с моим проектом ,

я хочу прочитать xls файл с помощью eppplus ,

но он показывает такую ошибку

"
Цитата:
Исключение типа 'System.Исключение" произошло в EPPlus.dll но не был обработан в пользовательском коде

Дополнительная информация: не удается открыть пакет. Пакет-это составной документ OLE. Если это зашифрованный пакет, пожалуйста, укажите пароль


как я могу решить эту проблему?
я читал какую-то статью, в которой говорится, что eppplus не поддерживает xls файл ,
поэтому я думаю, что мне следует изменить xls-файл на xlsx ,
как я могу это сделать?

Что я уже пробовал:

это мой код. ,
protected void check(object sender, EventArgs e)
      {
          if (FileUpload1.HasFile)
          {
              string filename = "Hr_Report_" + DateTime.Now.ToString("dddd_dd_MMMM_yyyy") + ".xlsx";
              FileUpload1.SaveAs(temp_file + filename);
              string tempfile = temp_file + filename;
              string c = @tempfile;
              DataTable table = new DataTable();

              FileInfo existingFile = new FileInfo(tempfile); //+ FileUpload1.FileName);
              using (ExcelPackage package = new ExcelPackage(existingFile))
              {
                  ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
                  int colCount = worksheet.Dimension.End.Column;
                  int rowCount = worksheet.Dimension.End.Row;
                  table.Columns.Add("Emp_NIK", typeof(string));
                  table.Columns.Add("Timer_Finger", typeof(DateTime));
                  table.Columns.Add("Status", typeof(string));
                  for (int i = 1; i < rowCount; i++)
                  {
                      TableRow row = new TableRow();
                      TableCell cell1 = new TableCell();
                      cell1.Text = worksheet.Cells[i + 1, 2].Text.ToString();//+worksheet.Cells[i + 1, 3].Value.ToString() + " " + worksheet.Cells[i + 1, 2].Value.ToString() + " Baris ke " + i;
                      row.Cells.Add(cell1);
                      myTable.Rows.Add(row);

                  }
              }
          }
          else
          {
              Response.Write("<script>window.alert('File Belum diupload')</script>");
          }
      }

markelee-advid

Как уже упоминал Мацей, EPPlus не поддерживает формат XLS, только XLSX.
Тем не менее, вы можете попробовать использовать GemBox.Spreadsheet, который поддерживает различные форматы, такие как XLS, XLSX, ODS и т. д., используя тот же API (ExcelFile.Load). Например, взгляните на этот пример чтения файлов Excel на языке C# .

1 Ответов

Рейтинг:
0

Maciej Los

Да, EPPlus не поддерживает старый формат файла Excel. Вам нужно использовать другой вариант с открытым исходным кодом. Видеть: Чтение Файлов Excel В .Объем ядра .Объем основных учебных пособий[^]


CPallini

5.

Maciej Los

Спасибо, Карло.