EPPlus меняет цвет салона - PullRequest
0 голосов
/ 07 марта 2019

Я нашел что-то действительно странное при использовании EPPlus, и я нигде не мог найти решение в Интернете (я также не нашел никого с такой же проблемой, чтобы быть справедливым).К счастью, через некоторое время я узнал, как это исправить, и, поскольку я ничего не смог найти, я хочу сэкономить кому-то еще свое время и документировать это здесь.Обратите внимание, что прошедшая неделя была моим первым опытом с EPPlus, поэтому я извиняюсь, если этот вопрос очень тривиален, и все уже знали об этом.

Проблема

I 'Я пытаюсь поместить данные в существующий шаблон Excel с помощью EPPlus.Один из листов файла Excel выглядит так: enter image description here

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

enter image description here

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

Еще одна странная вещь заключается в том, что это произошло на нескольких компьютерах, но не на всех.

1 Ответ

0 голосов
/ 07 марта 2019

Основная проблема

Осмотревшись, я обнаружил, что стандартный стиль неожиданно показал тот же фиолетовый цвет.

До

Normal styling

* После 1017 *

enter image description here

Я до сих пор не понимаю, почему он меняет цвет, но это так. Затем, где-то на github, кто-то упомянул, что вам нужно изменить код EPPlus, чтобы избавиться от этого. В нем упоминалось, что, поскольку электронная таблица Excel была создана на другом языке, отличном от английского, она не смогла найти стиль «Нормальный», поскольку в данном случае она называется «Стандарт» на голландском языке, и вам необходимо изменить «Нормальный» на «Стандарт» в коде.

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

Решение

Для такого длинного рассказа решение простое: в рабочей книге, в VBA в ближайшем окне, введите следующий код

Thisworkbook.Styles.Add("Normal")

Рабочая книга теперь имеет собственный формат под названием «Обычный». Поскольку ваш обычный формат, скорее всего, будет пустым, это покажет вам правильный стиль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...