nopcommerce Произошла ошибка диска во время операции записи. (Исключение из HRESULT: 0x8003001D (STG_E_WRITEFAULT))

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

public virtual void ImportProductsFromXlsx(Stream stream)
    {
        try
        {
            #region Import business Logic
            using (var xlPackage = new ExcelPackage(stream))
            {
                //get the first worksheet in the workbook
                var worksheet = xlPackage.Workbook.Worksheets.FirstOrDefault();

                if (worksheet == null)
                    throw new NopException("No worksheet found");

                //the columns
                var properties = GetPropertiesByExcelCells<Product>
 (worksheet);

                var manager = new PropertyManager<Product>
 (properties);

                var attributProperties = new[]
.....
.....
 }
}

Отслеживание стека: –

в OfficeOpenXml.Utils.CompoundDocument.ILockBytes.WriteAt(Int64 ulOffset, IntPtr pv, Int32 cb, UIntPtr& pcbWritten) в OfficeOpenXml.Utils.CompoundDocument.GetLockbyte(поток MemoryStream) в OfficeOpenXml.ExcelPackage.Load(потоковый ввод, поток вывода, строковый пароль ) в OfficeOpenXml.ExcelPackage.Load (ввод потока) в OfficeOpenXml.ExcelPackage..ctor (поток newStream) в Nop.Services.ExportImport.ImportManager.ImportProductsFromXlsx (поток потока) в d:\Arsh\nop3.90\Libraries\Nop. Сервисы\ЭкспортИмпорт\ИмпортМенеджер.cs:строка 330

Решения, которые я пробовал: –

  1. Пересохранение загружаемого файла с расширением .xlsx.
  2. Использование объекта Memorystream.
  3. Добавление имени файла, например (Worksheets.Add («Имя рабочего листа»);)
  4. Удаление текста заголовка (т. е. столбцов заголовка, таких как имя, описание и т. д.)

P.S. Я использую Nopcommerce. Это встроенный код импорта товаров.


person Arshdeep Singh    schedule 07.12.2017    source источник
comment
Какую версию экселя вы используете? Пробовали ли вы экспортировать небольшой образец продукции?   -  person Ammar    schedule 07.12.2017
comment
да, я также выполнил экспорт, после экспорта я получил поля в файле, а затем изменил этот файл, заполнил продукты, а затем импортировал продукты, которые хочу вставить. Версия файла Excel: Microsoft Office Excel 2003.   -  person Arshdeep Singh    schedule 07.12.2017
comment
И прямо сейчас после этого social.msdn.microsoft.com/Forums/vstudio/en-US/   -  person Arshdeep Singh    schedule 07.12.2017
comment
Попробуйте использовать Excel 2010+, так как более ранние версии Excel отличаются алгоритмом шифрования/дешифрования.   -  person Ammar    schedule 07.12.2017
comment
@Ammar Спасибо, это работало с Excel 2016 ... !!!, я хотел бы узнать больше об алгоритмах шифрования / дешифрования.   -  person Arshdeep Singh    schedule 11.12.2017
comment
Я добавил ответ, чтобы он мог помочь кому-то, у кого есть аналогичная проблема, и просматривал этот вопрос.   -  person Ammar    schedule 13.12.2017


Ответы (1)


Попробуйте использовать Excel 2010+, так как более ранние версии Excel отличаются алгоритмом шифрования/дешифрования.

Подробнее о шифровании/дешифровании можно прочитать здесь.

person Ammar    schedule 13.12.2017