Member 14370529 Ответов: 1

Epplus не найден на сервере


У меня есть консольное приложение c#. Запись данных из БД в Excel с помощью Epplus.

Он работает локально. Однако на моем тестовом сервере это не работает. Сообщение об ошибке ниже

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or ass
embly 'EPPlus, Version=4.5.3.2, Culture=neutral, PublicKeyToken=ea159fdaa78159a1
' or one of its dependencies. The system cannot find the file specified.
   at UserAndVehicleList.DAL.GetUserList()
   at UserAndVehicleList.Program.Main(String[] args)


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

foreach (DataTable table in ds1.Tables)
                      {
                          using (ExcelPackage excel = new ExcelPackage())
                          {
                              excel.Workbook.Worksheets.Add("Worksheet1");

                              // Determine the header range (e.g. A1:D1)
                             // string headerRange = "A1:" + Char.ConvertFromUtf32(headerRow[0].Length + 64) + "1";

                              // Target a worksheet
                              var worksheet = excel.Workbook.Worksheets["Worksheet1"];

                              // Popular header row data
                              //worksheet.Cells[headerRange].LoadFromArrays(headerRow);

                              worksheet.Cells["A1"].Style.Font.Bold = true;
                              //worksheet.Cells[headerRange].Style.Font.Size = 14;
                              //worksheet.Cells[headerRange].Style.Font.Color.SetColor(System.Drawing.Color.Blue);


                              //ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Accounts");
                              worksheet.Cells["A1"].LoadFromDataTable(table, true);
                              //pck.Save();

                              root = @"C:\ " + EntityName + "";

                              // If directory does not exist, create it.
                              if (!Directory.Exists(root))
                              {
                                  Directory.CreateDirectory(root);
                              }

                              path = root + @"\" + fileName;

                              //FileInfo excelFile = new FileInfo(@"C:\Users\amir\Desktop\test.xlsx");
                              FileInfo excelFile = new FileInfo(path);
                              excel.SaveAs(excelFile);
                          }
                      }

1 Ответов

Рейтинг:
4

OriginalGriff

Поэтому убедитесь, что сборка EPPlus включена в ваш проект установки и развертывания и будет правильно установлена при установке приложения на сервер.

Конечно, если вы просто не скопировали EXE-файл без каких-либо DLL-файлов, он должен работать ...


Member 14370529

я скопировал EXE файл без какого либо DLL файла

OriginalGriff

Это все равно что отправить кому-то электронное письмо, но не прикрепить ни один из файлов, на которые ссылается это письмо ... Если EXE-файл использует внешние DLL-файлы, они должны быть частью .NET framework или входит в состав установочного пакета.

Member 14370529

Сработало Спасибо @OriginalGriff

OriginalGriff

Всегда пожалуйста!