2015-10-05 3 views
2

Я использую EPPlus для редактирования существующего файла Excel. Он работает хорошо, но здесь идет забавная вещь: когда я сохраняю этот файл с помощью EPPlus, размер файла составляет 51,0 КБ. Если я открою тот же файл после его редактирования и сохранил его вручную, размер файла будет увеличен до 59,1 КБ.Почему размер моего файла Excel изменяется, если я сохраняю его с помощью EPPlus или если я сохраню его вручную?

Кто-нибудь знает, почему это происходит?
Есть ли способ избежать такого поведения?
Я имею в виду, сделайте EPPlus сохраните этот файл в реальном размере (59.1 KB).
В чем разница между сохранением этого файла вручную или использованием EPPlus?

Еще одно замечание, которое я сделал, заключается в том, что когда я открываю этот файл после его редактирования, используя EPPlus, требуется больше времени для загрузки файла, если я сделаю это после его ручного сохранения.

Вот мой код:

 FileInfo file = new FileInfo(@"C:\Desktop\MyExcelFile.xlsx"); 
     using (var package = new ExcelPackage(file)) 
     { 
      ExcelWorkbook workBook = package.Workbook; 
      ExcelWorksheet currentWorksheet = workBook.Worksheets.SingleOrDefault(w => w.Name == "MyWorkSheet"); 
      currentWorksheet.Cells[2, 2].Value = "Value1"; 
      currentWorksheet.Cells[3, 2].Value = "Value2"; 
      currentWorksheet.Cells[2, 1].Value = "Value3"; 
      currentWorksheet.Cells[3, 1].Value = "Value4"; 
      package.Save(); 

     } 
+0

Вы когда-нибудь могли найти решение этой проблемы? У меня такая же проблема. Есть ли способ вставить XML точно, как Excel делает его после сохранения из Excel? – MatthewD

+0

@MatthewD Привет, Мэтью, я смог решить это, используя библиотеку Excel Interop. Вы можете попробовать –

+0

Спасибо, что вернулись ко мне. Мне было поручено изменить несколько приложений, чтобы не использовать библиотеки interop. Они хотят удалить Office с рабочих станций. Спасибо хоть. – MatthewD

ответ

0

Эти XLSX файлы просто застегнул каталоги, полные XML. Если вы хотите увидеть разницу между ними, просто разархивируйте их (7zip будет работать) и используйте инструмент diff для сравнения двух каталогов. Различия в размерах будут связаны с такими вещами, как excel, экономя ваше последнее место в рабочей книге, а EEPlus - нет, или как форматируется xml. В общем, вы не должны ожидать, что EEPlus будет производить точно такой же результат, как Excel.

+0

Знаете ли вы, есть ли способ заставить EPPlus производить точно вывод в Excel? Мне нужно загрузить этот отредактированный файл на веб-сайт, и он не принимается, когда я сохраняю его с помощью EPPlus. –

+2

Таким образом, проблема заключается в том, что excel создает файл, который принимает какой-то потребитель, но EEplus производит тот, который он не является? Возможно, вы можете более подробно рассказать о том, что потребляет этот файл. В частности, какие сообщения об ошибках он бросает? – jcox

Смежные вопросы