Nano Hash - криптовалюты, майнинг, программирование

Excel обнаружил ошибку нечитаемого содержимого при открытии xlsx, созданного из С#

Я создаю файл Excel (xlsx) из С# с помощью OpenXML.

Когда я создаю файл xlsx и открываю его, в нем нет ошибки.

Когда я пытаюсь прикрепить этот файл к электронному письму и отправить его, Excel возвращает сообщение «найдено нечитаемое содержимое», открывая прикрепленный файл, с кнопкой «Да/Нет» для продолжения.

При нажатии Да файл открывается правильно.

Это мой код для прикрепления файла xlsx:

byte[] bt = functionToCreateXlsxfile();

MailMessage message = new MailMessage();

System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(
        new MemoryStream(bt),
        "myfile.xlsx", 
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

attach.ContentDisposition.CreationDate = DateTime.Now;
attach.ContentDisposition.ModificationDate = DateTime.Now;
attach.ContentDisposition.Inline = false;
attach.ContentDisposition.Size = bt.Length;

message.Attachments.Add(attach);
02.12.2014

  • Откройте файлы bt[] -> disk и bt[] -> вложение -> disk в шестнадцатеричном редакторе и посмотрите, что отличается? 02.12.2014
  • Сообщение просто означает, что Excel не распознает формат, когда вы нажимаете «Да», оно отменяет предупреждение и пытается отформатировать содержимое в манере Excel. Возможно, вы захотите еще раз взглянуть на форматирование форматов openxml и убедиться, что содержимое соответствует спецификации. точно. 02.12.2014
  • @JohnPeters вопрос в том, почему я получаю эту ошибку только тогда, когда прикрепляю файл к электронному письму, а не когда создаю и открываю его напрямую. 02.12.2014
  • Я могу только догадываться об ответе, потому что я не знаю внутренностей Excel, и большинство из нас не знают ... Вот мои мысли, один из этих вариантов не выстраивается. новый MemoryStream(bt), myfile.xlsx, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet); Просто потому, что говорят, что поток памяти имеет определенный формат, он не делает его таким. Еще одно замечание: версии Excel радикально отличаются, и это усложняет нам задачу разобраться в этом. Они меняли форматы на протяжении многих лет 02.12.2014
  • верно ли это, если вы отправляете электронное письмо, сохраняете вложение, не открывая его через почтовый клиент, а затем открываете его? 02.12.2014
  • Вам нужно двоичное сравнение, вы можете обнаружить, что запись на диск добавляет, например, спецификацию 02.12.2014
  • Мы (я и мой коллега) сделали все возможные тесты и пришли к выводу, что что-то не так, когда файл прикреплен к электронному письму. Может быть, отсутствует заголовок, или что-то еще, я точно не знаю. 02.12.2014

Ответы:


1

Попытка пользователя сохранить документ Excel на своем локальном компьютере, а затем открыть его. Если ошибки все еще сохраняются, вместо создания файла .xlsx из кода просто создайте файл .xls и посмотрите, возникает ли та же проблема.

Если оба метода выше не помогают, эти две ссылки могут помочь

http://blogs.technet.com/b/emeaoffice/archive/2012/11/29/you-may-receive-quot-unreadable-content-quot-при-открытии-файлов-из-внутри-excel-2007-if-you-have-a-shellstreams-dll-file.aspx

https://social.technet.microsoft.com/Forums/office/en-US/83907359-df5d-42ff-8f2b-a298e49adc61/error-quotexcel-found-unreadable-content-in-filenamexls-do-Выхотитевосстановитьсодержимое?forum=excel

Я не думаю, что эта проблема вообще связана с вашим кодом. Похоже, это распространенная ошибка Excel, с которой сталкиваются многие люди.

Кроме того, попробуйте этот инструмент и посмотрите, может помочь.

02.12.2014
  • Упомянутый выше инструмент помог мне microsoft.com/en-us/ скачать/details.aspx?id=5124 30.04.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..