xlnm filterdatabase что это
Почему в Excel появляется диалоговое окно «Конфликт имен»?
Если в Excel вы видите диалоговое окно Конфликт имен, это происходит из-за того, что вы пытаетесь скопировать один или несколько листа в книгу, которая имеет похожие именные диапазоны.
Предположим, что у таблицы, которую вы пытаетесь скопировать, и конечной книги, в которую вы хотите скопировать его, есть именный диапазон с именем InterestRates. При попытке переместить или скопировать листа Excel обнаружит этот конфликт и отобразит следующее сообщение:
Имя InterestRates уже существует. Нажмите кнопку Да, чтобы использовать эту версию имени, или кнопку Нет, чтобы переименовать перемещаемую или копную версию InterestRates.
Примечание: Диалоговое окно Конфликт имен появится для каждого экземпляра конфликтующих диапазонов имен. Если вы используете версию Excel с подпиской, сообщение в диалоговом окте о конфликте содержит третий вариант с пометкой Да для всех. Это означает, что сообщение не будет отображаться для дополнительных диапазонов конфликтующих имен.
Решение
В диалоговом окне выше необходимо сделать следующее:
Нажмите кнопку Да, чтобы продолжить использовать имя конфликтующих диапазонов в конечной книге.
Что происходит при нажатии кнопки Да?
Excel скопирует конфликтующий диапазон имен в 9-ю книгу. Это означает, что в конечной книге будут два похожих именуемого диапазона.
Предупреждение: Если в книге есть формулы, ссылающие на конфликтующие именные диапазоны, копирование этих диапазонов повлияет на эти формулы и приведет к ошибкам в книге. Если вы не знакомы с данными в конечной книге, не нажимайте кнопку Да. Вместо этого щелкните Нет, чтобы переименовать конфликтующий диапазон.
Нажмите кнопку Да для всех, чтобы продолжить использовать все возможные имена конфликтующих диапазонов в конечной книге. Обратите внимание, что этот параметр можно увидеть только в том случае, если вы используете версию Excel по подписке.
Что происходит при нажатии кнопки Да для всех?
Excel скопирует все конфликтующие диапазоны имен в 9-ю книгу. Это означает, что в конечной книге будут два или более похожих именуемого диапазона.
Предупреждение: Если в книге есть формулы, ссылающие на конфликтующие именные диапазоны, копирование этих диапазонов повлияет на эти формулы и приведет к ошибкам в книге. Если вы не знакомы с данными в конечной книге, не нажимайте кнопку Да для всех. Вместо этого щелкните Нет, чтобы переименовать конфликтующие диапазоны по одному.
Чтобы переименовать конфликтующий диапазон имен, нажмите кнопку Нет. Отобразит следующее диалоговое окно:
В разделе Новое имя введите новое имя диапазона. Новое имя не будет принято, если оно
начинается с буквы или подчеркиваия,
— ссылка на ячейку, например A1, A123 или XFD21,
имеет то же имя, что и у другого диапазона в книге, в которую вы копируете копию.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Xlnm filterdatabase что это
Добрый день, коллеги!
Столкнулся с проблемой. Сам порыл, но что-то не понял сути.
Что сам нарыл:
1. В инете инфы много. Понял, что это фича Екселя, если не ошибка. Честно. сути не понял. Но вроде как связано с автофильтрацией. Самому создать в GUI Екселя такой файл у меня не вышло.
Вопрос:
1. Сталкивался кто-то с подобным?
2. Что делать? Править писателя файла (третью сторону) или править читателя (мою программу)?
← →
ТимоховД ( 2014-01-15 12:45 ) [2]
Ответ не верный.
Это уже мне понятно.
> TRWR © (05.04.14 23:44) [4]
Большое спасибо! Похоже на решение проблемы. Попробую.
Пропустил, когда сам рыл решение.
← →
ТимоховД ( 2014-04-06 16:27 ) [6]
> TRWR © (05.04.14 23:44) [4]
Большое спасибо! Похоже на решение проблемы. Попробую.
Пропустил, когда сам рыл решение.
Конфликт имен при выгрузке данных в excel
Недопустимая строка с указанием класса при выгрузке данных в файлы excel в цикле
Здравствуйте. В собственной конфигурации есть обработка, в реквизиты и ТЧ которой выгружаются.
Ошибки при выгрузке данных. Правила написаны через Конвертацию данных редакции 2
Добрый день. Подскажите, пожалуйста, в чем может быть дело. Через конвертацию данных редакции 2.
Ошибки При Выгрузке Данных Через Конвертацию Данных
Добрый день. Подскажите, пожалуйста, в чем может быть дело. Через конвертацию данных редакции 2.
Удвоение записей, при данных выгрузке в BDF
День добрый. Написал небольшую выгрузку, которая перегружает данные из запроса, в BataBase файл, с.
jediAlex, может у вас офис разный?
Добавлено через 2 минуты
jediAlex, или файлы во что ты выгружаешь имеют установленный фильтр
Это заморочки экселя.
Убрал в экселе, но служебная таблица то осталась. Ее как то там через диспетчер можно удалить.
Т.е. пытаться вставить свои данные в область на которую был наложен фильтр, будешь получать эту ошибку.
Добавлено через 1 минуту
jediAlex, видел где-то в интернете костыли которые позволяют избежать появление этой ошибки.
Добавлено через 2 минуты
Вот один из примеров
Добавление автофильтра и сортировка приводит к сбою Excel
Я разрабатываю приложение, в котором вы можете экспортировать некоторые данные в файл Excel с помощью OpenXML. Все работает отлично, за исключением автофильтра. Идея состоит в том, чтобы добавить автофильтр в основную часть данных, чтобы пользователь автоматически имел элементы управления для фильтрации и сортировки данных. Поэтому в коде я делаю что-то вроде этого:
В экспортированном XLSX он выглядит примерно так:
Кто-нибудь знает, что может вызвать проблему? Есть ли что-нибудь еще, что я должен делать, применяя автоматический фильтр, кроме добавления его на рабочий лист?
Примечание. Мы используем Excel 2010 (версия 14.0.7153.5000)
Изменить: играйте с этим еще немного. Если вы сохраняете файл в Excel, он все еще сломан. Однако, если вы сначала примените фильтр (а затем очистите его), а затем сохраните в Excel, вы получите рабочий файл. Если посмотреть на два файла (все еще сломанный сохраненный файл и рабочий файл), я заметил, что этот дополнительный бит добавлен в рабочую книгу после того, как фильтр был применен (и очищен):
Не уверен, что это может быть что-то или нет.
ОТВЕТЫ
Ответ 1
По-видимому, для работы автофильтра требуется _xlmn._FilterDatabase (по крайней мере, для сортировки). Я думаю, если это не так, когда вы фильтруете, он создается, но если он не появляется, когда вы сортируете, он взрывает Excel.
Поэтому вам нужно имя листа и ссылку на ячейку, чтобы заполнить его.
_xlnm.Criteria: это определенное имя относится к диапазону, содержащему значения критериев для использования при применении расширенного фильтра к диапазону данных.
_xlnm._FilterDatabase: может быть одним из следующих
а. это определенное имя относится к диапазону, к которому был добавлен усовершенствованный фильтр применяется. Это представляет собой диапазон исходных данных, нефильтрованный.
б. Это определенное имя относится к диапазону, в который был установлен AutoFilter приложенное.
Итак, вам кажется, что вам нужно добавить _xlnm._FilterDatabase для каждого листа с фильтром (похоже, на одном листе нет возможности иметь более одного фильтра). Имя такое же _xlmn_FilterDatabase независимо от того, сколько листов у вас есть с фильтрами, потому что я думаю, что только комбинация имени и localSheetId должна быть уникальной.
Итак, в конце концов, у меня есть что-то вроде этого:
Кажется, что он работает с ошибкой в Excel. Excel должен проверить, определено ли имя перед сортировкой и автоматически создать его (что, по-видимому, выполняется, если вы фильтруете, а не сортируете).
Добавление автофильтра и сортировка приводит к сбою Excel
Я разрабатываю приложение, в котором вы можете экспортировать некоторые данные в файл Excel с помощью OpenXML. Все работает отлично, за исключением автофильтра. Идея состоит в том, чтобы добавить автофильтр в основную часть данных, чтобы пользователь автоматически имел элементы управления для фильтрации и сортировки данных. Поэтому в коде я делаю что-то вроде этого:
В экспортированном XLSX он выглядит примерно так:
Кто-нибудь знает, что может вызвать проблему? Есть ли что-нибудь еще, что я должен делать, применяя автоматический фильтр, кроме добавления его на рабочий лист?
Примечание. Мы используем Excel 2010 (версия 14.0.7153.5000)
Изменить: играйте с этим еще немного. Если вы сохраняете файл в Excel, он все еще сломан. Однако, если вы сначала примените фильтр (а затем очистите его), а затем сохраните в Excel, вы получите рабочий файл. Если посмотреть на два файла (все еще сломанный сохраненный файл и рабочий файл), я заметил, что этот дополнительный бит добавлен в рабочую книгу после того, как фильтр был применен (и очищен):
Не уверен, что это может быть что-то или нет.
ОТВЕТЫ
Ответ 1
По-видимому, для работы автофильтра требуется _xlmn._FilterDatabase (по крайней мере, для сортировки). Я думаю, если это не так, когда вы фильтруете, он создается, но если он не появляется, когда вы сортируете, он взрывает Excel.
Поэтому вам нужно имя листа и ссылку на ячейку, чтобы заполнить его.
_xlnm.Criteria: это определенное имя относится к диапазону, содержащему значения критериев для использования при применении расширенного фильтра к диапазону данных.
_xlnm._FilterDatabase: может быть одним из следующих
а. это определенное имя относится к диапазону, к которому был добавлен усовершенствованный фильтр применяется. Это представляет собой диапазон исходных данных, нефильтрованный.
б. Это определенное имя относится к диапазону, в который был установлен AutoFilter приложенное.
Итак, вам кажется, что вам нужно добавить _xlnm._FilterDatabase для каждого листа с фильтром (похоже, на одном листе нет возможности иметь более одного фильтра). Имя такое же _xlmn_FilterDatabase независимо от того, сколько листов у вас есть с фильтрами, потому что я думаю, что только комбинация имени и localSheetId должна быть уникальной.
Итак, в конце концов, у меня есть что-то вроде этого:
Кажется, что он работает с ошибкой в Excel. Excel должен проверить, определено ли имя перед сортировкой и автоматически создать его (что, по-видимому, выполняется, если вы фильтруете, а не сортируете).