IE2017

Исправление Excel файла

Обработки - Универсальные обработки

Обработка позволяет вылечить ошибку при открытии файла Excel: "Имя не должно совпадать со встроенным именем в Excel _filterDatabase введите другое имя".

Подсказку как вылечить нашёл вот тут. Через обработку лучше прогонять копии файлов, так на всякий пожарный.

Данные в XLSX файле хранятся в ввиде набора XML и других файлов упакованных в zip архив. Чтобы убедится в этом, можете сменить расширение XLSX на .zip и открыть любым архиватором. Берем файл, который вызывает ошибку (_FilterDatabase), открываем его архиватором. Нас интересует XML файл XL\workbook.xml. Если посмотреть содержимое этого файла, то можно обнаружить, что 
в нем есть два атрибута с именем _FilterDatabase, в моем случае:

<definedName name="_FilterDatabase" localSheetId="0" hidden="1">Лист1!$A$26:$I$26</definedName>
<definedName name="_xlnm._FilterDatabase" localSheetId="0" hidden="1">Лист1!$D$1:$D$272</definedName>


Вот как раз второй атрибут и вызывает ошибку. Если изменить его название или удалить весь тег, то ошибка пропадает.
Итак, алгоритм следующий: Открываем XLSX файл, вытаскиваем из него файл XL\workbook.xml, затем удаляем ветку с атрибутом "_xlnm._FilterDatabase", запаковываем обратно, открываем Excel файл стандартными средствами. 

Скачать файлы

Наименование Файл Версия Размер
ПочинитьExcel
.epf 6,94Kb
03.08.15
34
.epf 6,94Kb 34 Скачать

См. также

Комментарии
1. Роман Ложкин (webester) 22 07.04.17 20:14 Сейчас в теме
Помогло. Спасибо. Выковыривал, выковыривал этот тег из xml руками, как то криво выходило. Тут все хорошо прошло.
2. Алексей Ст (Alex33614) 30 25.04.17 10:14 Сейчас в теме
Значение не является значением объектного типа (УдалитьДочерний)
3. Alex Bee (_root) 84 25.04.17 11:15 Сейчас в теме
(2) Попробуйте на толстом клиенте.
4. Алексей Ст (Alex33614) 30 26.07.17 15:35 Сейчас в теме
С другими тегами типа области печати это прокатит?
5. Алексей Ст (Alex33614) 30 26.07.17 15:40 Сейчас в теме
(3) перенес функцию на обычные формы. Ошибка не ушла..
6. Алексей Ст (Alex33614) 30 26.07.17 15:41 Сейчас в теме
7. Алексей Ст (Alex33614) 30 26.07.17 16:51 Сейчас в теме
Оставьте свое сообщение