Excel ошибка импорта данных

Содержание

  1. Сообщение об ошибке в Excel при попытке импорта данных из веб-источника: «Недопустимое объявление XML»
  2. Проблемы
  3. Причина
  4. Обходное решение
  5. Статус
  6. Дополнительная информация
  7. Проблемы при использовании функции импорта и преобразования в разделе Преобразование & получить вкладки данные в Excel 2016
  8. Симптомы
  9. Импорт данных XML
  10. Другие способы импорта данных XML
  11. Импорт файла данных XML в качестве XML-таблицы
  12. Импорт нескольких файлов данных XML
  13. Импорт нескольких файлов данных XML в качестве внешних данных
  14. Открытие файла данных XML для импорта данных
  15. Распространенные проблемы при импорте данных XML
  16. Указанный XML-файл не ссылается на схему
  17. Возникают проблемы при импорте нескольких XML-файлов, которые используют одно пространство имен, но разные схемы
  18. Отображение вкладки «Разработчик»

Сообщение об ошибке в Excel при попытке импорта данных из веб-источника: «Недопустимое объявление XML»

Проблемы

При попытке импорта данных из веб-источника в Microsoft Excel может появиться сообщение об ошибке, подобное следующему:

Не удается открыть файл, так как: недопустимое объявление XML.

За этим следуют строки, указывающие на расположение ошибки и версию XML-файла, предназначенную для языка наращиваемой.

Причина

Это происходит из-за того, что средству синтаксического анализа Excel XML требуется, чтобы знаки XML-тега XML были абсолютно первыми символами на XML-странице. Им не могут предшествовать другие символы, а также символы пробелов, которые обычно игнорируются интерпретатором XML. Примечание. Средство синтаксического анализа XML в Microsoft Excel 2000 не будет работать в этих требованиях.

Обходное решение

Чтобы устранить эту ошибку, убедитесь в том, что в документах, которые будут открываться в качестве источников веб-данных в Excel, не требуется ничего, чем тег XML.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».

Дополнительная информация

XML-документы с правильным форматом начинаются с объявления XML, которое определяет их как XML-документы и определяет используемую версию XML, как показано в следующем примере:

Браузеры и другие программы, которые интерпретируют XML, обычно игнорируют пробелы (пробел, табуляция или новая строка) в исходном документе, а некоторые средства синтаксического анализа XML игнорируют эти символы, если они происходят впереди объявления XML. Тем не менее, в случае синтаксического анализа XML, включенного в Excel, важно, чтобы ни один из этих знаков не предшествует объявлению XML. Средство синтаксического анализа XML, которое входит в состав Excel 2000, а также многие браузеры, не пропускует символы пробела перед объявлением XML. Таким образом, документы, которые могли открыться в этих средах в обычном режиме, создают сообщение об ошибке, описанное в разделе «симптомы» этой статьи при использовании веб-запросов в Excel.

Источник

Проблемы при использовании функции импорта и преобразования в разделе Преобразование & получить вкладки данные в Excel 2016

Симптомы

При использовании функции импорта и преобразования в разделе Получение и трансформировать в Microsoft Excel 2016 на вкладке данные , возможны следующие проблемы:

Редактор запросов некорректно работает на компьютерах с установленным Internet Explorer.

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

При обновлении запроса, фокус перемещается на лист свою таблицу связанного запроса.

После импорта книги Excel, если таблица содержит пустые столбцы отображаются неправильные результаты.

При проверке многих таблиц в области навигатора Excel 2016 может аварийно завершить работу.

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

После выполнения операции вырезания и вставки в таблицу запроса, которая загружается с помощью запроса, запрос нельзя обновить с помощью области Запросы книги .

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

При записи макроса для создания запроса возникает ошибка компиляции.

После нескольких итераций повторяющиеся записи для создания запроса завершается ошибкой.

Источник

Импорт данных XML

Если вы ранее создали карту XML,вы можете использовать ее для импорта данных XML в ячейки, которые соеряду, но существуют также несколько способов и команд импорта данных XML без карты XML.

При наличии карты XML сделайте следующее для импорта данных XML в сопоставленные ячейки:

В карте XML выберите одну из сопоставленных ячеек.

На вкладке Разработчик нажмите кнопку Импорт.

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать, и нажмите кнопку Импорт.

Другие способы импорта данных XML

Дополнительные сведения о проблемах см. в разделе Типичные проблемы при импорте данных XML в конце этой статьи.

Импорт файла данных XML в качестве XML-таблицы

На вкладке Разработчик нажмите кнопку Импорт.

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать, и нажмите кнопку Импорт.

Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

В диалоговом окне Импорт данных выполните одно из следующих действий:

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

Чтобы импортировать содержимое файла в XML-таблицу на новом, начиная с ячейки A1, выберите XML-таблицу на новом. Карта файла данных XML отобразится в области задач Источник XML.

Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Чтобы контролировать поведение данных XML (например, привязку данных, форматирование и макет), нажмите кнопку Свойства ,чтобы отобразить диалоговое окно Свойства карты XML. Например, при импорте данных по умолчанию существующие данные в диапазоне будут перезаписаны, но это можно изменить.

Импорт нескольких файлов данных XML

Выберите сопоставленную ячейку, чтобы импортировать несколько XML-файлов в один набор сопоставленных ячеек.

Если вы хотите импортировать несколько XML-файлов в несколько наборов сопоставленных ячеек, щелкните любую несопоставленную ячейку листа.

На вкладке Разработчик нажмите кнопку Импорт.

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать.

Если файлы являются смежными, нажмите клавишу SHIFT, а затем щелкните первый и последний файл в списке. Все данные из XML-файлов будут импортированы и добавлены в сопоставленные ячейки.

Если файлы не являются смежными, нажмите клавишу CTRL, а затем щелкните все файлы списка, которые вы хотите импортировать.

Нажмите кнопку Импорт.

Если вы выбрали несколько файлов, появится диалоговое окно Импорт >.xml файл. Выберите карту XML, соответствующую импортируемому файлу данных XML.

Чтобы использовать одну карту для всех выделенных файлов, которые еще не были импортированы, установите флажок Использовать эту карту XML для всех выбранных файлов этой схемы.

Импорт нескольких файлов данных XML в качестве внешних данных

Если нужно импортировать несколько XML-файлов с одним пространством имен, но с разными схемами XML, вы можете воспользоваться командой Из импорта данных XML. Excel создаст уникальную карты XML для каждого импортируемого файла данных XML.

Примечание: При импорте нескольких XML-файлов, в которых не определено пространство имен, считается, что они используют одно пространство имен.

Если вы используете Excel с подпиской наMicrosoft 365, щелкните Данные > Получить данные > из файла > из XML.

Если вы используете Excel 2016 или более раннюю версию, на вкладке Данные нажмите кнопку Из других источников, а затем щелкните Из импорта данных XML.

Выберите диск, папку или расположение в Интернете, где находится файл данных XML (XML-файл), который вы хотите импортировать.

Выберите файл и нажмите кнопку Открыть.

В диалоговом окне Импорт данных выберите один из следующих параметров:

В XML-таблицу в существующей книге. Содержимое файла импортируется в новую таблицу XML на новом листе. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Существующий таблица Данные XML импортируется в двумерную таблицу со строками и столбцами, где теги XML показаны как заголовки столбцов, а данные — в строках под заголовками столбцов. Первый элемент (корневой узел) используется как заголовок и отображается в указанном расположении ячейки. Остальные теги отсортировали по алфавиту во второй строке. В этом случае схема не создается и вы не можете использовать карту XML.

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

Чтобы контролировать поведение данных XML, таких как привязка, форматирование и макет, нажмите кнопку Свойства ,чтобы отобразить диалоговое окно Свойства карты XML. Например, при импорте данных по умолчанию существующие данные в соеченом диапазоне перезаписываются, но это можно изменить.

Открытие файла данных XML для импорта данных

Выберите команду Файл > Открыть.

Если вы используете Excel 2007, нажмите Microsoft Office кнопку > открыть.

В диалоговом окне Открытие файла выберите диск, папку или веб-адрес, где расположен нужный файл.

Выберите файл и нажмите кнопку Открыть.

Если появится диалоговое окно Импорт XML, открытый файл ссылается на одну или несколько таблиц стилей XSLT, поэтому можно щелкнуть один из следующих параметров:

Открытие файла без применения таблицы стилей Данные XML импортируется в двумерную таблицу со строками и столбцами, где теги XML показаны как заголовки столбцов, а данные — в строках под заголовками столбцов. Первый элемент (корневой узел) используется как заголовок и отображается в указанном расположении ячейки. Остальные теги отсортировали по алфавиту во второй строке. В этом случае схема не создается и вы не можете использовать карту XML.

Открыть файл, применив следующую таблицу стилей (выберите одну). Выберите таблицу стилей, которую вы хотите применить, и нажмите кнопку ОК. Данные XML будут отформатированы в соответствии с выбранным листом стилей.

Примечание: Данные XML будут открыты в Excel в режиме «только для чтения», что позволяет предотвратить случайное сохранение первоначального исходного файла в формате книги Excel с поддержкой макросов (XLSM). В этом случае схема не создается и вы не можете использовать карту XML.

Если появится диалоговое окно Открыть XML, в XML-файле не будет ссылок на таблицу стилей XSLT. Чтобы открыть файл, выберите один из следующих параметров:

Щелкните XML-таблица для создания XML-таблицы в новой книге.

Содержимое файла импортируется в XML-таблицу. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Выберите в качестве книги, которая будет работать только для чтения.

Данные XML импортируется в двумерную таблицу со строками и столбцами, где теги XML показаны как заголовки столбцов, а данные — в строках под заголовками столбцов. Первый элемент (корневой узел) используется как заголовок и отображается в указанном расположении ячейки. Остальные теги отсортировали по алфавиту во второй строке. В этом случае схема не создается и вы не можете использовать карту XML.

Данные XML будут открыты в Excel в режиме «только для чтения», что позволяет предотвратить случайное сохранение первоначального исходного файла в формате книги Excel с поддержкой макросов (XLSM). В этом случае схема не создается и вы не можете использовать карту XML.

Щелкните Использовать область задач XML-источника.

Карта файла данных XML отобразится в области задач Источник XML. Для сопоставления элементов схемы с листом их можно перетащить на лист.

Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Распространенные проблемы при импорте данных XML

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

Ошибка при проверке схемы

Когда вы выбрали в диалоговом окне Свойства карты XML параметр Проверять данные на соответствие схеме при импорте и экспорте, данные были импортированы, но не проверены на соответствие указанной карте XML.

Некоторые данные были импортированы как текст

Часть импортированных данных или все данные были преобразованы из объявленного типа в текст. Чтобы использовать эти данные в вычислениях, необходимо преобразовать их в числа или даты. Например, значение даты, преобразованное в текст, не будет работать должным образом в функции ГОД, пока вы не преобразуйте его в тип данных «Дата». Excel преобразует данные в текст в следующих случаях:

Данные в формате, который Excel не поддерживается.

Данные несовместимы с внутренним представлением типа данных XSD в Excel. Чтобы исправить эту проблему, удостоверьтесь, что данные XML соответствуют XML-схеме, проверив каждое из определений типа данных.

Ошибка разбора XML

Средству синтаксического анализа XML не удается открыть указанный XML-файл. Убедитесь, что в XML-файле отсутствуют синтаксические ошибки и XML построен правильно.

Не удается найти карту XML, соответствующую этим данным

Эта проблема может возникнуть в том случае, если для импорта выбрано несколько файлов данных XML и Excel не удается найти соответствующую карту XML для одного из них. Импортируйте схему для файла, указанного в строке заголовка этого диалогового окна, сначала следует, а затем повторно выполните импорт файла.

Не удается изменить размер XML-таблицы для включения данных

Вы пытаетесь добавить строки путем импорта или добавления данных в XML-таблицу, однако таблицу невозможно расширить. XML-таблицу можно дополнять только снизу. Например, сразу под XML-таблицей может находиться объект, такой как рисунок или даже другая таблица, который не позволяет расширить ее. Кроме того, возможно, что при расширении XML-таблицы будет превышен установленный в Excel предел по количеству строк (1 048 576). Чтобы исправить эту проблему, измените расположение таблиц и объектов на листе, чтобы XML-таблица могла дополняться снизу.

Указанный XML-файл не ссылается на схему

XML-файл, который вы пытаетесь открыть, не ссылается на схему XML. Для работы с данными XML, содержащимися в файле, Excel требуется схема, основанная на его содержимом. Если такая схема неверна или не отвечает вашим требованиям, удалите ее из книги. Затем создайте файл схемы XML и измените файл данных XML так, чтобы он ссылался на схему. Дополнительные сведения см. в статье Сопоставление XML-элементов с ячейками карты XML.

Примечание: Схему, созданную Excel, невозможно экспортировать в качестве отдельного файла данных схемы XML (XSD-файла). Хотя существуют редакторы схем XML и другие способы создания файлов схемы XML, возможно, вы не имеете к ним доступа или не знаете, как ими пользоваться.

Выполните следующие действия, чтобы удалить из книги схему, созданную Excel:

На вкладке Разработчик выберите команду Источник.

Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

В области задач Источник XML выберите пункт Карты XML.

В диалоговом окне Карты XML щелкните карту XML, созданную Excel ,и нажмите кнопку Удалить.

Возникают проблемы при импорте нескольких XML-файлов, которые используют одно пространство имен, но разные схемы

При работе с несколькими файлами данных XML и несколькими схемами XML стандартным подходом является создание карты XML для каждой схемы, сопоставление нужных элементов, а затем импорт каждого из файлов данных XML в соответствующую карту XML. При использовании команды Импорт для открытия нескольких XML-файлов с одним пространством имен можно использовать только одну схему XML. Если эта команда используется для импорта нескольких XML-файлов, использующих одно пространство имен при разных схемах, можно получить непредсказуемые результаты. Например, это может привести к тому, что данные будут перезаписаны или файлы перестанут открываться.

Если нужно импортировать несколько XML-файлов с одним пространством имен, но с разными схемами XML, вы можете воспользоваться командой Из импорта данных XML (выберите Данные > Из других источников). Эта команда позволяет импортировать несколько XML-файлов с одним пространством имен и разными схемами XML. Excel создаст уникальную карты XML для каждого импортируемого файла данных XML.

Примечание: При импорте нескольких XML-файлов, в которых не определено пространство имен, считается, что они используют одно пространство имен.

Отображение вкладки «Разработчик»

Если вкладка Разработчик недоступна, выполните следующие действия, чтобы открыть ее.

В Excel 2013 и Excel 2010

Выберите Файл > Параметры.

Щелкните категорию Настроить ленту.

В разделе Основные вкладки установите флажок Разработчик и нажмите кнопку ОК.

Нажмите кнопку Microsoft Office кнопку > Excel параметры.

Выберите категорию Основные.

В разделе Основные параметры работы с Excel установите флажок Показывать вкладку «Разработчик» на ленте и нажмите кнопку ОК.

Источник

 

Выбираю опцию «Получение внешних данных из интернета», по умолчанию в Excel при импорте сайты открывает IE.
Так вот всё время при заходе на сайт с нужной мне инфой (например cbr.ru или finmarket.ru) вылезают окна с различными «ошибками сценария»!
Например «»ошибка сценария yaCounter5774506″ не определено» или сразу несколько ошибок сценария таких как «Объект не поддерживает свойство или метод some»,
«Объект не поддерживает свойство или метод querySelector» и.т.д.
Такая же «петрушка» на всех сайтах, при этом просто в IE вне экселя эти сайта без ошибок открываются без всяких проблем.

В итоге импортировать получается только страницу целиком и приходится вручную чистить лишнюю информацию т.е. нельзя стандартным образом выбирать отдельные таблицыобласти т.к. не появляются «жёлтые стрелочки» для выбора отдельных объектов страницы.

Все обновления Windows 7Excel 2013 стоят. Не пойму в чём дело. Погуглил, толком ответов нигде нет.

Эксперты Помогите, пожалуйста!

 

SuperCat

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

Быть может, вручную через VBA парсить сайт?

There is no knowledge that is not power

 

Увы, VBA, я совсем не знаю во-первых.
Во-вторых есть стандартный функционал, который на нескольких др. компьютерах я видел вполне работающим…
Хотелось бы обойтись без «танцев с бубном»! Мне всего то курсы валют, да котировки иногда подтягивать надо, но в принципе может понадобиться и что то более сложное, поэтому хочу понять в чём причина такого беспредела с импортом :)

 

SuperCat

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

Если вы постоянно используйте одни и те же сайты, то есть смысл написать свой парсер.

There is no knowledge that is not power

 

Я ж говорю, не владею VBA… :(

 

SuperCat

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

А пора

There is no knowledge that is not power

 

realalexandro

Пользователь

Сообщений: 22
Регистрация: 08.11.2016

#7

21.11.2016 20:14:45

Цитата
SuperCat написал: А пора

Слушайте, я очень ценю, что для простого СТАНДАРТНОГО импорта данных, который УЖЕ ЗАШИТ в функционале эксель, Вы мне предлагаете писать парсер и изучать VBA, ПОСКОЛЬКУ ПРЯМОГО ОТВЕТА НА МОЙ ВОПРОС ОЧЕВИДНО НЕ ЗНАЕТЕ  :D … ну так не знаете, хоть не отвечайте  ;)

Уважаемые форумчане, может быть кто нибудь более простое решение знает?!
Не пойму даже где копать… то ли в винде дело, то ли в каких то dll библиотеках, то ли в реестре, то ли в Excel…

 

Игорь

Пользователь

Сообщений: 3631
Регистрация: 23.12.2012

#8

21.11.2016 20:16:44

Ошибки ж ведь только в процессе настройки появляются, — да, неприятно, но это ж один раз надо ОК щелкнуть на всех этих сообщениях.
А потом все работает

Цитата
не появляются «жёлтые стрелочки» для выбора отдельных объектов страницы

наличие желтых стрелок с вероятностью 95% не связано с появлением ошибок
Excel просто понимает только табличную верстку сайта, — а она сейчас редко встречается на сайтах

 

Кнопка цитирования не для ответа [МОДЕРАТОР]

Ок, нажать не проблема, я бы не стал по этому поводу тему создавать и беспокоить людей  :)
Да, но я не так давно своими глазами видел, как эти жёлтые стрелочки появляются при импорте данных у человека на др. компьютере и на том же сайте cbr.ru и отдельные таблицы импортировались без проблем )
Если дело в том, что это сайт НЕ сделан под табличную вёрстку, тогда функционал стандартного импорта считай, что почти бесполезен…
Не могли бы Вы у себя проверить вылезет ли такая же ошибка скрипта при попытке импорта на сайте cbr.ru?

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#10

21.11.2016 20:36:51

Цитата
realalexandro написал:
Не могли бы Вы у себя проверить вылезет ли такая же ошибка

ваш сайт я не проверял, ибо у меня ошибки выскакивают минимум в 99%.
И на всех версиях — win7/10; Officce 2010/13/16

Изменено: Михаил С.21.11.2016 20:38:57

 

Jungl

Пользователь

Сообщений: 830
Регистрация: 18.01.2016

#11

21.11.2016 20:38:31

realalexandro, vba можно и не знать, а вот с макрорекордером можете справится.
Пример записи макрорекордера(далее вставляете кнопку и присваиваете ей этот макрос):

Код
Sub Макрос1()
'
' Макрос1 Макрос
'

'
    With ActiveSheet.QueryTables.Add(Connection:="URL;http://cbr.ru", _
        Destination:=Range("$A$1"))
        '.CommandType = 0
        .Name = "cbr.ru"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub
 

Забавно, мне ответил Игорь и я его попросил проверить, а теперь Вы мне отвечаете, что «мой сайт не проверяли», поскольку у Вас ошибки при импорте всегда или почти всегда.

Правильно ли я понимаю тогда, что функционал импорта из Web работает в настоящее время только по принципу «Импортируй всю страницу, а потом руками удаляй не нужное», либо «пиши парсер под отдельный сайт»? Т.е. выходит, что текущий формат большинства сайтов по отдельным частямтаблицам встроенный импорт Excel как правило не понимает?

Если это так, то это очень странно, потому что я даже в учебнике не таком старом нашёл вот такой пример, как раз для сайта на котором я пробую импорт:

 

Игорь

Пользователь

Сообщений: 3631
Регистрация: 23.12.2012

#13

21.11.2016 20:54:18

У меня сайт

http://cbr.ru/

импортируется (через веб-запрос) без ошибок
(смотрел только главную страницу)
и галочка только одна — страница целиком.

Цитата
даже в учебнике не таком старом нашёл вот такой пример

на это не смотрите.
сайт меняется очень часто.
с виду там все также — а начинка поменялась.
и в окне импорта вместо 20 исходных галочек для выбора таблиц осталась 1-5 галочек

 

Jungl, спасибо за пример! «Воткнуть» его в макрос и запустить у меня ума хватило, хотя сам код понять мне пока сложновато. :)

Может быть я неправильно объяснял, но на самом деле, через стандартный импорт выкачивается полностью вся та же информация т.е. вся главная страница в «цифрах и буквах», что и через Ваш скрипт, просто вначале выскакивает то самое сообщение об ошибке сценария.
Я в том смысле, что в принципе у меня импорт работает, просто не отдельных областей, а всей страницы по адресу сразу!

Я так понимаю через скрипт тоже сложно регулировать какую именно таблицу хотим «подгрузить» с сайта, поскольку, очевидно это зависит от структуры определённой и нужен парсер?!
Тогда нет смысла заморачиваться для моих скромных целей  :sceptic:

В общем вроде бы теперь я начинаю понимать, что проблема моя не в Экселе и не в Виндоусе, а в несовершенстве встроенного импорта, который понимает только «табличную» структуру, которой теперь мало кто пользуется, так ведь?!

 

Игорь, спасибо большое!

Значит Вы были правы! У меня по галочкам то же самое. И импорт то всей страницы проходит без проблем (именно всей, а не отдельных областей).
Ошибка сценария возникает лишь при нажатии в окне импорта кнопки «Пуск», которая по идее ДОЛЖНА БЫЛА БЫ разложить сайт по областям, помеченным стрелочками (также и в учебнике написано).

Ну вобщем я понял, суть в том, что технология вёрстки сайтов теперь отличается от формата стандартного импорта эксель, поэтому отдельные области вычленить по импорту можно редко. Значит всё нормально, надо просто иметь это ввиду и уже дальше либо писать хитрые запросы через VBA либо ручками выковыривать то что надо из общего импорта…

Если я правильно эту идею понял, тогда, конечно, и вопроса больше нет.  :)

 

Jungl

Пользователь

Сообщений: 830
Регистрация: 18.01.2016

#16

21.11.2016 21:18:27

Цитата
realalexandro написал:
сам код понять мне пока сложновато

я вам пишу, макрорекордером пользуйтесь(и по возможности сравнивайте код, может поймете немного сути импорта).
Этот код импортирует курс:
Сравните с первым вариантом и поймете что к чему.

Код
Sub Макрос2()
'
' Макрос2 Макрос
'

'
    With ActiveSheet.QueryTables.Add(Connection:="URL;http://cbr.ru", _
        Destination:=Range("$A$1"))
        '.CommandType = 0
        .Name = "cbr.ru"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "3"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub
 

Jungl, в смысле макрорекордером?!
Я им и воспользовался для первого скрипта.
Записал сначала «пустой» макрос, потом внутрь кода в режиме «Разработчик» открыл этот пустой макрос и вставил Ваш код, потом запустил и увидел, что он
делает. Или что то не так я сделал?

Второй вариант обязательно сравню уже непосредственно по изменениям кода, Вам спасибо!

 

trakt123

Пользователь

Сообщений: 7
Регистрация: 13.07.2017

Jungl

, Здравствуйте!
Не могли бы вы рассказать, как Вы определили что эта таблица 3 (.WebTables = «3»), заранее спасибо.

 

Jungl

Пользователь

Сообщений: 830
Регистрация: 18.01.2016

trakt123, здравствуйте!
Данный код формирует макрорекордер, в зависимости о структуры web страницы.

 

trakt123

Пользователь

Сообщений: 7
Регистрация: 13.07.2017

Jungl

, спасибо за оперативный ответ, только я не понял совсем, совсем нечего :(
Смотрите есть сайт

https://cryptowat.ch

, хочу получить с него данные для мат. анализа, данные получаю «корявые», да и не всё нужно. Подскажите куда копать.

 

Jungl

Пользователь

Сообщений: 830
Регистрация: 18.01.2016

#21

13.07.2017 14:54:51

trakt123, по хорошему, такие вещи нужно изучать, писать парсер.
У сайта есть API

https://cryptowat.ch/docs/api

.
Если не справитесь, делайте заказ в соответствующей теме.

Перейти к контенту

Convert XML to ExcelВ виду неудобства просмотра данных в файле XML возникла задача открыть (или импортировать) файл XML в MS Excel. Благо то, что MS Excel поддерживает такие файлы и в нем встроен механизм импорта.

Однако при открытии файла XML в Excel появляется ошибка:

Ошибка в XML в указанном источнике XML или схемы

Рис. 1 

Если нажать на кнопку «Сведения…» выводятся подробности:

Код ошибки —2146697210, Не удается найти указанный объект:

Ошибка в XML - код ошибки -2146697210

Иногда после того, как нажимаешь «ОК» в окне на рис.1, MS Excel зависает и закрывается с ошибкой:

Прекращена работа программы Excel

Решение (на примере MS Excel 2016 ):

Произвести импорт данных:

1. Открыть новый документ в Excel (Пустая книга)

Excel - пустая книга

2.  Перейти на вкладку «Данные» — «Получение внешних данных» — «Из других источников» — «Из импорта данных XML«:

Excel - импорт данных XML

3.  Далее выбираем импортируемый файл XML и нажимаем на кнопку «Открыть«.

4.  Выбираем способ открытия «XML-таблица«:

Открытие XML - XML-таблица

5. В окне «Импорт данных» выставите значение «Новый лист«:

Excel окно Импорт данных

Нажмите «ОК«.  После чего должна открыться таблица с набором данных из XML-файла.

Для того, чтобы открыть (импортировать) в Excel несколько файлов необходимо:

1.  В Excel в меню «Файл» выбрать «Параметры«.

2.  Перейти в раздел «Настроить ленту» и активировать вкладку «Разработчик«:

Параметры Excel - настройка ленты

Нажмите кнопку «ОК«.

3. Нажмите на вкладку «Разработчик»  — «Импорт» (в разделе XML):

Excel - вкладка Разработчик - xml Импорт

4.  Далее с помощью клавиш CTRL или SHIFT выберите несколько XML файлов и нажмите «Открыть».

Время на прочтение
11 мин

Количество просмотров 366K

CSV является стандартом де-факто для связи между собой разнородных систем, для передачи и обработки объемных данных с «жесткой», табличной структурой. Во многих скриптовых языках программирования есть встроенные средства разбора и генерации, он хорошо понятен как программистам, так и рядовым пользователям, а проблемы с самими данными в нем хорошо обнаруживаются, как говорится, на глаз.

История этого формата насчитывает не менее 30 лет. Но даже сейчас, в эпоху повального использования XML, для выгрузки и загрузки больших объемов данных по-прежнему используют CSV. И, несмотря на то, что сам формат довольно неплохо описан в RFC, каждый его понимает по-своему.

В этой статье я попробую обобщить существующие знания об этом формате, указать на типичные ошибки, а также проиллюстрировать описанные проблемы на примере кривой реализации импорта-экспорта в Microsoft Office 2007. Также покажу, как обходить эти проблемы (в т.ч. автоматическое преобразование типов Excel-ом в DATETIME и NUMBER) при открытии .csv.

Начнем с того, что форматом CSV на самом деле называют три разных текстовых формата, отличающихся символами-разделителями: собственно сам CSV (comma-separated values — значения, разделенные запятыми), TSV (tab-separated values — значения, разделенные табуляциями) и SCSV (semicolon separated values — значения, разделенные точкой с запятой). В жизни все три могут называться одним CSV, символ-разделитель в лучшем случае выбирается при экспорте или импорте, а чаще его просто «зашивают» внутрь кода. Это создает массу проблем в попытке разобраться.

Как иллюстрацию возьмем казалось бы тривиальную задачу: импортировать в Microsoft Outlook данные из таблицы в Microsoft Excel.

В Microsoft Excel есть средства экспорта в CSV, а в Microsoft Outlook — соответствующие средства импорта. Что могло быть проще — сделал файлик, «скормил» почтовой программе и — дело сделано? Как бы не так.

Создадим в Excel тестовую табличку:

Текстовая табличка

… и попробуем экспортировать ее в три текстовых формата:

«Текст Unicode» Кодировка — UTF-16, разделители — табуляция, переводы строк — 0×0D, 0×0A, объем файла — 222 байт
«CSV (разделители — запятые)» Кодировка — Windows-1251, разделители — точка с запятой (не запятая!), во второй строке значение телефонов не взято в кавычки, несмотря на запятую, зато взято в кавычки значение «01;02», что правильно. Переводы строк — 0×0D, 0×0A. Объем файла — 110 байт
«Текстовые файлы (с разделителями табуляции)» Кодировка — Windows-1251, разделители — табуляция, переводы строк — 0×0D, 0×0A. Значение «01;02» помещено в кавычки (без особой нужды). Объем файла — 110 байт

Какой вывод мы делаем из этого?.. То, что здесь Microsoft называет «CSV (разделители — запятые)», на самом деле является форматом с разделителями «точка с запятой». Формат у Microsoft — строго Windows-1251. Поэтому, если у вас в Excel есть Unicode-символы, они на выходе в CSV отобразятся в вопросительные знаки. Также то, что переводами строк является всегда пара символов, то, что Microsoft тупо берет в кавычки все, где видит точку с запятой. Также то, что если у вас нет Unicode-символов вообще, то можно сэкономить на объеме файла. Также то, что Unicode поддерживается только UTF-16, а не UTF-8, что было бы сильно логичнее.

Теперь посмотрим, как на это смотрит Outlook. Попробуем импортировать эти файлы из него, указав такие же источники данных. Outlook 2007: Файл -> Импорт и экспорт… -> Импорт из другой программы или файла. Далее выбираем формат данных: «Значения, разделенные запятыми (Windows)» и «Значения, разделенные табуляцией (Windows)».

«Значения, разделенные табуляцией(Windows)» Скармливаем аутлуку файл tsv, с разделенными табуляцией значениями и!.. — чтобы вы думали?.. Outlook склеивает поля и табуляцию не замечает. Заменяем в файле табуляцию на запятые и, как видим, поля уже разбирает, молодец.
«Значения, разделенные запятыми (Windows)» А вот аутлук как раз понимает все верно. Comma — это запятая. Поэтому ожидает в качестве разделителя запятую. А у нас после экселя — точка с запятой. В итоге аутлук распознает все неверно.

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

Мы помним, что Microsoft Excel умеет работать с текстовыми файлами, импортировать данные из CSV, но в версии 2007 он делает это очень странно. Например, если просто открыть файл через меню, то он откроется без какого-либо распознавания формата, просто как текстовый файл, целиком помещенный в первую колонку. В случае, если сделать дабл-клик на CSV, Excel получает другую команду и импортирует CSV как надо, не задавая лишних вопросов. Третий вариант — вставка файла на текущий лист. В этом интерфейсе можно настраивать разделители, сразу же смотреть, что получилось. Но одно но: работает это плохо. Например, Excel при этом не понимает закавыченных переводов строк внутри полей.

Более того, одна и та же функция сохранения в CSV, вызванная через интерфейс и через макрос, работает по-разному. Вариант с макросом не смотрит в региональные настройки вообще.

Стандарта CSV как такового, к сожалению, нет, но, между тем, существует т.н. memo. Это RFC 4180

2005-го

года, в котором описано все довольно толково. За неимением ничего большего, правильно придерживаться хотя бы RFC. Но для совместимости с Excel следует учесть его собенности.

Вот краткая выжимка рекомендаций RFC 4180 и мои комментарии в квадратных скобках:

  • между строками — перевод строки CRLF [на мой взгляд, им не стоило ограничивать двумя байтами, т.е. как CRLF (0×0D, 0×0A), так и CR 0×0D]
  • разделители — запятые, в конце строки не должно быть запятой,
  • в последней строке CRLF не обязателен,
  • первая строка может быть строкой заголовка (никак не помечается при этом)
  • пробелы, окружающие запятую-разделитель, игнорируются.
  • если значение содержит в себе CRLF, CR, LF (символы-разделители строк), двойную кавычку или запятую (символ-разделитель полей), то заключение значения в кавычки обязательно. В противном случае — допустимо.
  • т.е. допустимы переводы строк внутри поля. Но такие значения полей должны быть обязательно закавычены,
  • если внутри закавыченной части встречаются двойные кавычки, то используется специфический квотинг кавычек в CSV — их дублирование.

Вот в нотации ABNF описание формата:

 file = [header CRLF] record *(CRLF record) [CRLF]
   header = name *(COMMA name)
   record = field *(COMMA field)
   name = field
   field = (escaped / non-escaped)
   escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE
   non-escaped = *TEXTDATA
   COMMA = %x2C
   DQUOTE =  %x22
   LF = %x0A
   CRLF = CR LF
   TEXTDATA =  %x20-21 / %x23-2B / %x2D-7E
 

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

  • строковое значение из цифр, не заключенное в кавычки может быть воспринято программой как числовое, из-за чего может быть потеряна информация, например, лидирующие нули,
  • количество значений в каждой строке может отличаться и необходимо правильно обрабатывать эту ситуацию. В одних ситуациях нужно предупредить пользователя, в других — создавать дополнительные колонки и заполнять их пустыми значениями. Можно определиться, что количество колонок задается заголовком, а можно добавлять их динамически, по мере импорта CSV,
  • Квотить кавычки через «слэш» не по стандарту, делать так не надо.
  • Поскольку типизации полей нет, нет и требования к ним. Разделители целой и дробной частей в разных странах разные, и это приводит к тому, что один и тот же CSV, сгенрированный приложением, в одном экселе «понимается», в другом — нет. Потому что Microsoft Office ориентируется на региональные настройки Windows, а там может быть что угодно. В России там указано, что разделитель — запятая,
  • Если CSV открывать не через меню «Данные», а напрямую, то Excel лишних вопросов не задает, и делает как ему кажется правильным. Например, поле со значением 1.24 он понимает по умолчанию как «24 января»
  • Эксель убивает ведующие нули и приводит типы даже тогда, когда значение указано в кавычках. Делать так не надо, это ошибка. Но чтобы обойти эту проблему экселя, можно сделать небольшой «хак» — значение начать со знака «равно», после чего поставить в кавычках то, что необходимо передать без изменения формата.
  • У экселя есть спецсимвол «равно», который в CSV рассматривается как идентификатор формулы. То есть, если в CSV встретится =2+3, он сложит два и три и результат впишет в ячейку. По стандарту он это делать не должен.

Пример валидного CSV, который можно использовать для тестов:

Фамилия, Имя, Адрес, Город/штат, индекс, просто строка
Иванов,Иван, Ленина 20, Москва, 08075, "1/3"
Tyler, John,110 terrace, PA,20121, "1.24"
"Петров 
""Кул""", Петя,120 Hambling St., NJ,08075, "1,24"
Смирнов,Вася,"7452 Street ""Near the Square"" road", York, 91234, "3-01"
,Миша,,Ленинград, 00123, "03-01"
"Джон ""Черная голова"", Клод",Рок,"", Маями бич,00111, "0000"
Сергей,,

точно такой же SCSV:

Фамилия; Имя; Адрес;  Город/штат; индекс; просто строка
Иванов;Иван; Ленина 20; Москва; 08075;"1/3"
Tyler; John;110 terrace; PA; 20121;"1.24"
"Петров 
""Кул"""; Петя;120 Hambling St.; NJ;08075;"1,24"
Смирнов;Вася;"7452 Street ""Near the Square"" road"; York; 91234;"3-01"
;Миша;;Ленинград; 00123;"03-01"
"Джон ""Черная голова""; Клод";Рок;""; Маями бич;00111; "0000"
Сергей;;

Первый файлик, который реально COMMA-SEPARATED, будучи сохраненным в .csv, Excel-ом не воспринимается вообще.

Второй файлик, который по логике SCSV, экселом воспринимается и выходит вот что:

Ошибки Excel-я при импорте:

  1. Учлись пробелы, окружающие разделители
  2. Последний столбец вообще толком не распознался, несмотря на то, что данные в кавычках. Исключение составляет строка с «Петровым» — там корректно распозналось 1,24.
  3. В поле индекс Excel «опустил» ведущие нули.
  4. в самом правом поле последней строки пробелы перед кавычками перестали указывать на спецсимвол

Если же воспользоваться функционалом импорта (Данные -> Из файла) и обозвать при импорте все поля текстовыми, то будет следующая картина:

С приведением типов сработало, но зато теперь не обрабатываются нормально переводы строк и осталась проблема с ведущими нулями, кавычками и лишними пробелами. Да и пользователям так открывать CSV крайне неудобно.

Есть эффективный способ, как заставить Excel не приводить типы, когда это нам не нужно. Но это будет CSV «специально для Excel». Делается это помещением знака «=» перед кавычками везде, где потенциально может возникнуть проблема с типами. Заодно убираем лишние пробелы.

Фамилия;Имя;Адрес;Город/штат;индекс;просто строка
Иванов;Иван;Ленина 20;Москва;="08075";="1/3"
Tyler; John;110 terrace;PA;="20121";="1.24"
"Петров 
""Кул""";Петя;120 Hambling St.;NJ;="08075";="1,24"
Смирнов;Вася;"7452 Street ""Near the Square"" road";York;="91234";="3-01"
;Миша;;Ленинград;="00123";="03-01"
"Джон ""Черная голова"";Клод";Рок;"";Маями бич;="00111";="0000"
Сергей;;

И вот что случаеся, если мы открываем этот файлик в экселе:

Резюмирую.

Чтобы сгенерировать такой CSV, которым можно было бы пользоваться, пользователю нужно дать возможность сделать следующие настройки перед экспортом:

  1. выбрать кодировку. Как правило, важно UTF-8, UTF-16, Windows-1251, KOI8-R. Чаще всего, других вариантов нет. Одна из них должна идти по умолчанию. В случае, если данные содержат символы, не имеющие аналогов в целевой кодировке, нужно предупреждать пользователя, что данные будут битые;
  2. выбрать разделитель между полями. Варианты — табуляция, запятая, точка с запятой. По умолчанию — точка с запятой. Не забыть, что если разделитель вводится в тексте, то будет очень непросто ввести туда табуляцию, это еще и непечатный символ;
  3. выбрать разделитель между строками (CRLF 0×0D 0×0A или CR 0×0D);
  4. выбрать разделитель целой и дробной части для числовых данных (точка или запятая).
  5. выбрать, выводить ли строку заголовка;
  6. выбрать, каким образом осуществлять квотинг спецсимволов (особенно переводов строк и кавычек). В принципе, можно отступиться от стандарта и квотировать их как n и «, но нужно в этом случае не забыть квотировать сами n, если они встретятся и не забыть сделать это опцией при экспорте-импорте. Но совместимость пойдет лесом, потому что любой RFC-стандартный парсер конструкцию …,»abc«»,… посчитает за ошибку;
  7. совсем в идеале — поставить галочку «для Excel» и учитывать там те нестандартности, которые внесла Майкрософт. К примеру, заменять значения числовых полей, «похожих на дату», на конструкцию =»<значение поля>«.
  8. определиться, нужно ли оставлять «хвост» из пустых разделителей, если он образуется. Например, из 20 полей только первое содержит данные, а остальные пустые. В итоге, в строке можно либо ставить после первого 19 разделителей, либо не ставить. Для больших объемов данных это может спасти миллисекунды обработки и уменьшить размер файла.

Чтобы построить хороший и удобный импортер CSV, необходимо помнить о следующем:

  1. разбор файла нужно делать по лексемам в соответствии с грамматикой выше или пользоваться хорошо зарекомендовавшими себя готовыми библиотеками (Excel работает иначе, потому с импортом проблема);
  2. предоставлять пользователю возможность выбрать кодировку (топ 4 достаточно);
  3. предоставлять пользователю возможность выбрать разделитель между полями (запятая, табуляция, точка с запятой достаточно);
  4. предоставлять пользователю возможность выбрать разделитель между строками, но кроме вариантов CR и CRLF нужно предусмотреть «CR или CRLF». Это связано с тем, что, например, Excel при экспорте таблицы с переводами строк внутри ячеек экспортирует эти переводы строк как CR, а остальные строки разделяет CRLF. При этом при импорте файла ему все равно, CR там или CRLF;
  5. предоставлять пользователю возможность выбрать разделитель между целой и дробной частей (запятая или точка);
  6. определиться с методом разбора — сначала читаем все в память, потом обрабатываем или обрабатываем строку за строкой. В первом случае может понадобиться больше памяти, во втором случае — ошибка в середине вызовет только частичный импорт, что может вызвать проблемы. Предпочительнее первый вариант.

Рауф Алиев,
заместитель технического директора Mail.Ru Group

Ошибки импорта из Excel и их решения.

Раздел Импорт из Excel – предназначен для загрузки текстовых данных о товарах и услугах компании в формате XLS, XLSX, CSV.

Это может быть файл созданный по нашему шаблону для импорта, или же, к примеру, файл экспортированый с другого сайта в формате XLS, XLSX, CSV.

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

Сообщение об ошибке » В выбранном файле не все обязательные поля или файл поврежден». Как это решить?

1. Возможно, при создании файла импорта, используя наш шаблон, были допущены ошибки. В шаблоне импорта первая строка файла это подсказки, а в файле импорта первой строкой должны идти названия колонок. Нужно удалить первую строку с подсказками перед сохранением заполненного файла:

2. Ошибка возникает при попытке загрузить файл не в формате xls, xlsx или csv при импорте из Excel. Измените расширение импортируемого файла.

Если файл создан в результате экспорта с другого сайта проверьте его на соответствие с нашим шаблоном и наличием обязательных полей/колонок в файле Excel. Посмотреть правила составления файла Excel можно в Кабинете компании — Товары и УслугиИмпорт из Excel

3. Формат одной или нескольких ячеек выбран не верно. Например, в колонке ЦЕНА значение должно быть числовое и целое:

4. Если файл импорта был создан не из нашего шаблона тогда ошибка может быть из-за отсутствия или неверного заполнения поля колонок Адрес_подраздела и Идентификатор_подраздела. Если файл импорта создан из шаблона, импорт происходит даже если эти поля пустые.

После импорта отсутствуют фото к товару , хотя он были в файле импорта. Почему?

Причин, почему в результате импорта картинка не отобразилась, может быть несколько. Если это не связано с настройками импорта, то причину можно найти в файле импорта.

1. В файле импорта не указаны URL для изображений. Для импорта из Excel это колонка Ссылка_изображения. Ссылки должны быть разделены запятыми с пробелами:

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

2. Также нужно проверить доступность ссылки, если это ссылка на картинку с сайта — скопируйте её и вставьте в строку браузера. Перейдите по адресу ссылки — если картинка отображается — адрес ссылки корректный.

Импорт прошел и у всех товаров теперь статус «Наличие не известно». Почему?

Для обозначения статуса наличия в колонке Наличие применяется:

Если оставить поле наличия пустым — статус вашего товара станет Наличие не известно.

Не отобразилась скидка после импорта. В чем причина?

Колонка Скидка должна иметь процентное или числовое значение, если в этой колонке (или ячейке) значение было указано не % или число — скидка не отобразится. На примере изображения ниже преобразуйте ячейки колонки Скидка в нужный формат:

В файле импорта были заполнены характеристики, но в карточке товара они оказались в Дополнительном. Почему?

На сайте компании и на портале Основные характеристики могут выступать фильтрами при поиске, а Дополнительные характеристики просто отображаются в описании к товару списком.

Если были указаны характеристики, но после импорта они отражаются в Дополнительных, значит для Рубрики, к которой относится товар, нет такой характеристики в нашей базе и система перенесла эти атрибуты в дополнительные.

Знайка, самый умный эксперт в Цветочном городе

Мнение эксперта

Знайка, самый умный эксперт в Цветочном городе

Если у вас есть вопросы, задавайте их мне!

Задать вопрос эксперту

Знание языка запросов Xpath для использования функции не обязательно, можно воспользоваться опцией браузера копировать Xpath. Если же вы хотите что-то уточнить, я с радостью помогу!

Облачные сервисы не требуют установки на ПК. Все данные хранятся на серверах разработчиков, вы скачиваете только результат парсинга. Доступ к программному обеспечению осуществляется через веб-интерфейс или по API.
Чистка реестра Windows

Что значит ошибка перенос в excel

Добавить список url можно вручную, XLSX-файлом или ссылкой на XML-карту сайта. Отчеты выгружаются в форматах HTML и XLSX. Первые 500 запросов — бесплатно. Все нюансы работы с инструментом мы описали в гайде.

Ошибка разбора XML или XML Parsing Error в RSS-ленте, решения проблемы

Открыв, RSS ленту своего сайта видишь, что ленты нет, а браузер сообщает об ошибке. Как мне удается вернуть «на место», «отвалившуюся» RSS ленту я и расскажу дальше.

Примечание: Хочу поправиться и замечу, что неисправности фида не валятся с неба. Скорее всего, это результат установки нового плагина или ваше изменение, некоторых файлов в шаблоне. Так как, для формирования фида используется язык разметки XML, который имеет строгие правила синтаксиса, то любое изменение в файлах, которые не влияют на работу сайта, могут «отстегнуть» RSS.

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

Примечание: Вообще эта синтаксическая ошибка называется ошибка разбора XML или XML Parsing Error. В разных браузерах она показывается по-разному. Например, в Chrome:

Поиск – Ошибка разбора XML или XML Parsing Error в RSS-ленте

Предположительно, ошибка разбора появляется из-за пробельных символов (пробел, новая строка, табуляция) появившихся в коде WordPress перед декларацией XML.

Для начала, попытаемся устранить ненужные пробелы в коде

Не помогло, или не хочется лазить по коду, воспользуйтесь плагином: Fix RSS Feed WordPress. Хоть и плагин не протестирован на версии 3.8, вполне может помочь в восстановлении ленты RSS.

Данный плагин не обновлялся 2 года. Скорее всего, он уже не поддерживается и может быть несовместим с текущими версиями WordPress.

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

Исправить Rss поток WordPress.Как сделать сайт WP WordPress Fix Rss Feed ‹ WordPress.Как сделать сайт WP — WordPress

Если плагин Fix RSS Feed WordPress не помог, возможен конфликт одного из плагинов. Попробуйте, отключать в Консоли → Плагины → Установленные, последовательно каждый активный плагин, проверяя работоспособность ленты RSS.

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

Похожие посты:

2 комментария к “Ошибка разбора XML или XML Parsing Error в RSS-ленте, решения проблемы”

Это ведь уже не про RSS? по крайней мере убирать пробелы не помогло

По вопросу я не понял, после чего была такая ошибка.
Вероятно вы что-то импортируйте (контент, товары) при помощи плагина импорта.
Если плагин импорта тестирован на вашей версии, я бы сначала отключил другие плагины сайта и повторил импорт.
Если бы это не помогло, написал в suport хостинга.

Добавить комментарий Отменить ответ

Знайка, самый умный эксперт в Цветочном городе

Мнение эксперта

Знайка, самый умный эксперт в Цветочном городе

Если у вас есть вопросы, задавайте их мне!

Задать вопрос эксперту

Предположительно, ошибка разбора появляется из-за пробельных символов пробел, новая строка, табуляция появившихся в коде WordPress перед декларацией XML. Если же вы хотите что-то уточнить, я с радостью помогу!

Я продолжаю получать сообщение об ошибке. Это ошибка
Не уверен, что это подходящее место для этого или нет, если нет, я извиняюсь. Изначально продолжал подниматься, когда я был на ebay, теперь случается случайным образом.

Исправить ошибку Parser конфигурации

Бесплатная версия ограничена 500-ми url. В платной (лицензию можно купить на год) количество страниц для парсинга не ограничено, и она имеет гораздо больше возможностей. Среди них — парсинг цен, названий и описаний товаров с любого сайта. Как это сделать, мы подробно описали в гайде.

  • #1

Столкнулся с проблемкой… при импорте таблицы excel FILE->PLACE выдает сообщение «cannot place this file. no filter found for requested operation.», хотя файлы на английском… с таблицами ворда такая же бочина. Может ворпос и туповат, но хоть стреляйте не могу загузить нужные таблицы!!! :( Помогите, плиз

  • #2

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

Поиск еще не отменили. По запросу выдает с десяток веток посвященные этому вопросу.
Я понимаю, что лень — двигатель прогресса, но не до такой же степени…

  • #3

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

lex_ сказал(а):

Поиск еще не отменили. По запросу выдает с десяток веток посвященные этому вопросу.
Я понимаю, что лень — двигатель прогресса, но не до такой же степени…

да облазил я все эти ветки давно, голяк, ниче конкретного! вот и обратился к профессионалам знатокам! помогитееее!

Mic256


  • #4

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

pamzec сказал(а):

… голяк, ниче конкретного! …

Вот именно!
Версии Excel, InDesign, полный путь к файлу Эксела озвучьте, пожалуйста.

  • #5

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

Как правило такая фигня вылазит когда в пути к файлу и/или его имени встречаются русские буквы. Такой фигни не вылазит если таблицы копипастить. И лучше это делать из ворда. Таким глюком страдал вроде бы лишь CS2. Потом жизнь наладилась.

Mic256


  • #6

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

2 lunatik
Таки да!
У меня сейчас в ходу InD CS3 и CS4 (Win Vista Ult) и оба пожирают феньки такого вида «d:Папка1Папка2Раскладка-tmp.xlsx» даже не поперхнувшись.
PS. Впрочем, ТС куда-то пропал — наверное, все наладилось у него.

  • #7

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

а может просто )))
включить галочку в Установках «вставить всю информацию с буфера» ;)

  • #8

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

Оно вообще не вставляет. См. первый пост. А без этой галочки должен вставляться гольный текст.

andrejK


  • #9

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

а может просто… читать проблему топикстартера внимательно???

«…при импорте таблицы excel FILE->PLACE…»

  • #10

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

lunatik сказал(а):

Оно вообще не вставляет. См. первый пост. А без этой галочки должен вставляться гольный текст.

понилбатяпонил))

andrejK, повторять нинада ;)

George

George

I wish I was a monster you think I am


  • #11

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

mina
Отставить албанский. Для тех кто не в курсах — аморальные албанские уроды обитают в других форумах.

по поводу не нашел, 14 пункт:
http://forum.rudtp.ru/showthread.php?t=9416

Эээх навеяло ностальгией… а вроде только что в CS2 работал….

Любимцев


  • #12

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

Почему-то кажется, что топикастер спрашивает не об этом:

выдает сообщение «cannot place…», хотя файлы на английском

  • #13

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (


Не по теме:
Не только файлы но и путь к ним должны быть без кириллицы.

  • #14

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

пасиб, ребят раздуплился, lunatik — rulezzzz! в indesign cs 2 в пути к файлу были папки на русском… переименовал и все ок. спасибо всем!

  • #15

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (

пасиб, ребят раздуплился, lunatik — rulezzzz! в indesign cs 2 в пути к файлу были папки на русском… переименовал и все ок. спасибо всем!

  • #16

Ответ: Не импортируются таблицы excel. Помогите, ведь делаю все правильно (


Не по теме:
Народ просто подзабыл каково работать в CS2 :) А я в нем до сих пор много чего верстаю. Вот недавно захотел новизны — поставил CS4. И снес обратно — только время потратил на восстановление. Сверстал в CS2Ну будет свободных пару дней так разберусь поставлю нормально.

Excel 2010 не импортирует из web

natalyzal

Дата: Воскресенье, 02.04.2017, 02:54 |
Сообщение № 1

Группа: Пользователи

Ранг: Участник

Сообщений: 53


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

После переустановки Excel 2007 на 2010 обнаружила грустную новость. 2010 импортирует с интернет-страницы совсем не то, что нужно.
Выделяю нужную таблицу, а при импорте получаю в excel какой-то совсем «левый» блок с текстом вместо нужных мне данных.

Удивительно то, что в 2007 все было нормально. Прекрасно импортировались именно те данные, которые были выделены.

Кто сталкивался с такой проблемой, подскажите, как победить эти проблемы с импортом в 2010?
Спасибо!

 

Ответить

Karataev

Дата: Воскресенье, 02.04.2017, 09:11 |
Сообщение № 2

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

Напишите адрес сайта и какую таблицу Вы импортируете, чтобы попробовать это сделать.


Киви-кошелек: 9166309108

 

Ответить

natalyzal

Дата: Воскресенье, 02.04.2017, 15:59 |
Сообщение № 3

Группа: Пользователи

Ранг: Участник

Сообщений: 53


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Доступ туда закрытый, к сожалению. Могу дать исходный код страницы (html/css/js) или его часть, если это может прояснить ситуацию.
Нужно?

2007 Excel прекрасно импортировал. Так что, думаю, это 2010 требует каких-то танцев с бубном. А сайт-источник здесь ни при чем.

Сообщение отредактировал natalyzalВоскресенье, 02.04.2017, 16:04

 

Ответить

Karataev

Дата: Воскресенье, 02.04.2017, 16:01 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

Мне нет, я просто методом «тыка» хотел посмотреть: какие-нибудь галочки, еще что-то в этом духе.


Киви-кошелек: 9166309108

 

Ответить

natalyzal

Дата: Воскресенье, 02.04.2017, 16:05 |
Сообщение № 5

Группа: Пользователи

Ранг: Участник

Сообщений: 53


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Karataev, я галочки перепробовала :)
Чего-то другого хочет от меня 2010-й %)

Видела здесь тему про какую-то надстройку для 2010 для импорта. Кто-нибудь пользовался ей?
Power Query называется

Хотя, таблица на сайте-источнике — самая обычная html (судя по коду страницы), ничего «хитровывернутог»о в ней нет.
Так что, это, видимо, в каких-то настройках импорта excel 2010 дело.

Сообщение отредактировал natalyzalВоскресенье, 02.04.2017, 16:17

 

Ответить

Karataev

Дата: Воскресенье, 02.04.2017, 16:26 |
Сообщение № 6

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

Установите Power Query (посмотрите в интернете, как это сделать). Затем: вкладка «Power Query» — Из интернета — радиокнопка «Базовый» — введите URL страницы — OK.
После этого появится список таблиц, выберите из них Вашу. Далее внизу щелкните по стрелке кнопки «Загрузить» — Загрузить в — радиокнопка «Имеющийся лист» — выберите ячейку, начиная с которой будут вставлены данные, — Загрузить.

Данные будут загружены из интернета.


Киви-кошелек: 9166309108

 

Ответить

natalyzal

Дата: Воскресенье, 02.04.2017, 16:31 |
Сообщение № 7

Группа: Пользователи

Ранг: Участник

Сообщений: 53


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Сейчас попробую. Отпишусь, что получилось.

Сообщение отредактировал natalyzalВоскресенье, 02.04.2017, 17:33

 

Ответить

natalyzal

Дата: Воскресенье, 02.04.2017, 17:20 |
Сообщение № 8

Группа: Пользователи

Ранг: Участник

Сообщений: 53


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Скачала, установила. И не могу войти в систему. Ввожу логин и пароль, нажимаю «Войти» и никакой реакции от сайта-источника. Как будто кнопка не работает.
Хотя визуально она «нажимается». Просто реакции на это нажатие никакой нет.

Из excel (вкладка Данные — импорт из веб) захожу в систему без каких-либо сложностей. Но там не импортируется нужная таблица.
А через эту надстройку не получается почему-то зайти в систему.

Может, какая-нибудь безопасность меня «охраняет» от внешних подключений?
На скрине эта кнопка, которая не реагирует на нажатие

К сообщению приложен файл:

0850406.png
(75.4 Kb)

Сообщение отредактировал natalyzalВоскресенье, 02.04.2017, 17:32

 

Ответить

natalyzal

Дата: Вторник, 04.04.2017, 22:01 |
Сообщение № 9

Группа: Пользователи

Ранг: Участник

Сообщений: 53


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Karataev, очередной шаг к победе сделан :)
Но продвигаюсь я в час по чайной ложке, увы. Надстройка Power Query, о которой шла речь выше, как оказалось позволяет импортировать таблицы не только из онлайна, но и из сохраненных веб-страниц.

И даже без измучившей меня автозамены на даты (хотя, я уже боюсь, что excel может сделать это и позже в любой момент).

Но теперь другая напасть — при импорте текстовых данных (а у меня на 95% текст) меняется кодировка любых текстовых символов на квадратики.
И у меня несколько тысяч строк красивых квадратиков теперь имеется, которые, понятно, нифиг не нужны.

Как исправить кодировку не знаете?

Сообщение отредактировал natalyzalВторник, 04.04.2017, 22:12

 

Ответить

Karataev

Дата: Вторник, 04.04.2017, 22:04 |
Сообщение № 10

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

не знаю, я Power Query только начинаю изучать


Киви-кошелек: 9166309108

 

Ответить

natalyzal

Дата: Вторник, 04.04.2017, 22:11 |
Сообщение № 11

Группа: Пользователи

Ранг: Участник

Сообщений: 53


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Karataev, ну, что ж, и на том спасибо :) Уже у меня не даты, а этажи, как и должно быть.

буду дальше «копать»

 

Ответить

natalyzal

Дата: Вторник, 04.04.2017, 22:59 |
Сообщение № 12

Группа: Пользователи

Ранг: Участник

Сообщений: 53


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Олег, большое спасибо!
Вопрос решила в несколько очень простых действий:

1. Захожу на сайт источник и сохраняю страницу.htm с таблицей на компьютер.
2. Открываю сохраненную страницу в NotePad ++
3. Меняю кодировку на utf-8 и сохраняю свою htm-ку
4. Открываю Excel -> вкладка Power Query -> Из интернета и указываю локальный путь к файлу.htm -> Ок

И все импортируется именно так, как нужно. Дальше сохраняю в xls или любой нужный формат.
Конечно, было бы совсем замечательно найти способ обойтись без всех этих окольных путей.
Но, увы проще (да и вообще никак иначе) решить не удалось.

В конце концов, вся эта последовательность действий занимает 2-3 минуты, а не 1,5-2,5 часа ручного редактирования результатов принудительной автозамены на даты.

 

Ответить

SLAVICK

Дата: Среда, 05.04.2017, 08:53 |
Сообщение № 13

Группа: Модераторы

Ранг: Старожил

Сообщений: 2290


Репутация:

766

±

Замечаний:
0% ±


2019

в несколько очень простых действий:

да уж — действительно простых.
Можете почитать тут или там же — как авторизовываться на сайте через VBA — там и про парсинг есть и про скачивание страниц, и про перекодировку.
Если все верно сделаете — ваши «простые» действия сведутся в одно сложное — нажать кнопку (или отрыть файл) :D .


Иногда все проще чем кажется с первого взгляда.

 

Ответить

natalyzal

Дата: Четверг, 06.04.2017, 02:41 |
Сообщение № 14

Группа: Пользователи

Ранг: Участник

Сообщений: 53


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

SLAVICK, спасибо :)

Ну, кому что просто. Мне разбираться в VBA совсем некогда. От слова «СОВСЕМ».
Хотя, конечно, интересно. Я туда уже «забиралась». Посмотрела, осознала всю степень своего невежества и отложила до лучших времен.

 

Ответить

Badya1991

0 / 0 / 0

Регистрация: 19.02.2016

Сообщений: 14

1

20.01.2017, 04:02. Показов 11377. Ответов 23

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Добрый день, есть запрос на добавление данных из файла excel, выгруженного из 1С, в базу данных MS Access, по столбцам в существующую таблицу:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
INSERT INTO БДР ( Организация,
 Подразделение,
 Субконто2,
 Контрагент,
 СчетДт, СчетКт )
SELECT [TDSheet$].Организация,
 [TDSheet$].Подразделение,
 [TDSheet$].Субконто2,
 [TDSheet$].Контрагент,
 [TDSheet$].СчетДт,
 [TDSheet$].СчетКт
FROM [Excel 12.0 XML;HDR=YES;IMEX=1;DATABASE=C:Users...БДР.xlsx].[TDSheet$];

Проблема: MS Access при загрузке данных путем этого запроса определяет тип данных по первым 8 строкам, в столбце СчетДт первые 8 строк содержат число 20 (20 счет), далее есть счет 90.01.1 и тд, эти данные он не понимает и выдает ошибку #Число!, как можно решить эту проблему и загрузить это поле сразу текстовым, то есть по умолчанию задать тип данных текст?

Добавлено через 1 час 0 минут
Я искал уже но не нашел, вот типа в этой теме примерно такая же ошибка, Как изменить тип данных поля при импорте, но суть в том что ошибка возникает на этапе выборке то есть в запросе, то есть таблица уже обновляется данными с ошибкой, получается импортировать если создается новая таблица через мастер импорта и экспорта но я там не знаю как преобразуются данные на этапе запроса.



0



4038 / 1423 / 394

Регистрация: 07.08.2013

Сообщений: 3,541

20.01.2017, 04:12

2

надо в excel этот столбец сделать текстовым до загрузки

Добавлено через 59 секунд
или же в запросе воткнуть по этому столбцу функцию преобразования данных в строку
Cstr()



0



0 / 0 / 0

Регистрация: 19.02.2016

Сообщений: 14

20.01.2017, 04:20

 [ТС]

3

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



0



snipe

4038 / 1423 / 394

Регистрация: 07.08.2013

Сообщений: 3,541

20.01.2017, 04:23

4

Наверное так

SQL
1
2
3
INSERT INTO БДР ( Организация, Подразделение, Субконто2, Контрагент, СчетДт, СчетКт )
SELECT a1.Организация, a1.Подразделение, a1.Субконто2, a1.Контрагент, CStr(a1.СчетДт) AS СчетДТ1, a1.СчетКт
FROM [Excel 12.0 XML;HDR=YES;IMEX=1;DATABASE=C:Users...БДР.xlsx].[TDSheet$] AS a1;



0



Badya1991

0 / 0 / 0

Регистрация: 19.02.2016

Сообщений: 14

20.01.2017, 04:24

 [ТС]

5

SQL
1
2
3
INSERT INTO БДР ( Организация, Подразделение, Субконто2, Контрагент, СчетДт, СчетКт )
SELECT [TDSheet$].Организация, [TDSheet$].Подразделение, [TDSheet$].Субконто2, [TDSheet$].Контрагент, Cstr([TDSheet$].СчетДт) AS СчетДТ1, [TDSheet$].СчетКт
FROM [Excel 12.0 XML;HDR=YES;IMEX=1;DATABASE=C:Users...БДР.xlsx].[TDSheet$] AS [TDSheet$];

Написал такой запрос пишет ошибка преобразования данных 97 значениям присвоено значение null

ЗЫ: Уже делал так.



0



4038 / 1423 / 394

Регистрация: 07.08.2013

Сообщений: 3,541

20.01.2017, 04:31

6

столбец то называть надо

Добавлено через 1 минуту
а почему именно 97 значений обNULLилось

Добавлено через 2 минуты
попробуйте для начала просто импортировать таблицу excel
прелесть этого метода в том что при импорте не правильные значения в новую таблицу не вносятся и данные о неправильных значениях попадают в отдельную таблицу (точнее координаты этих данных)

Добавлено через 37 секунд
можно будет просто посмотреть в excel чего с этими данными не так



0



0 / 0 / 0

Регистрация: 19.02.2016

Сообщений: 14

20.01.2017, 04:36

 [ТС]

7

Я выше писал, что первые значения число 20 (20 счет в бухгалтерии), а то значение которое не попало : 90.01.1, он не может распознать как число, и таких значений 97 штук.

Если я в самом первом значении ставлю 20. (с точкой) тогда нет проблем с загрузкой.



0



snipe

4038 / 1423 / 394

Регистрация: 07.08.2013

Сообщений: 3,541

20.01.2017, 04:49

8

а можно файлик excel увидеть

Добавлено через 9 минут
Ну или напишите макрос и запустите его в excel
только запускайте в копии файла и выставьте свои значения констант

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub macro1()
dim i#, j#, k#, m#
' i - строка с которой начинается таблица заголовки столбцов не брать, судя по всему у вас это вторая строка
' j - номер столбца по которому двигаться a-1 b-2 c-3 d-4 и т.д предположу что наш корявый столбец 5
' k - последняя строка таблицы
' m- переменная цикла
i=2: j=5: k=100
for m=i to k
Cells(m,j)=CStr(Cells(m,j))
next m
msgbox "Готово"
end sub

Добавлено через 2 минуты
перед запуском макроса выделите столбец полностью и установите в нем формат ячеек Текстовый



0



0 / 0 / 0

Регистрация: 19.02.2016

Сообщений: 14

20.01.2017, 04:50

 [ТС]

9

Desktop.rar Вот база и пример excel, только в запросе отредактируйте свой путь.



0



4038 / 1423 / 394

Регистрация: 07.08.2013

Сообщений: 3,541

20.01.2017, 04:51

10

к сожалению у меня на работе нет акса
а файлик excel сейчас гляну



0



Badya1991

0 / 0 / 0

Регистрация: 19.02.2016

Сообщений: 14

20.01.2017, 04:52

 [ТС]

11

Цитата
Сообщение от snipe
Посмотреть сообщение

а можно файлик excel увидеть
Добавлено через 9 минут
Ну или напишите макрос и запустите его в excel
только запускайте в копии файла и выставьте свои значения констант

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
Sub macro1()
dim i#, j#, k#, m#
' i - строка с которой начинается таблица заголовки столбцов не брать, судя по всему у вас это вторая строка
' j - номер столбца по которому двигаться a-1 b-2 c-3 d-4 и т.д предположу что наш корявый столбец 5
' k - последняя строка таблицы
' m- переменная цикла
i=2: j=5: k=100
for m=i to k
Cells(m,j)=CStr(Cells(m,j))
next m
msgbox "Готово"
end sub

Добавлено через 2 минуты
перед запуском макроса выделите столбец полностью и установите в нем формат ячеек Текстовый

Это нужно будет заходить в excel ждать пока строки переформатируются, а хотелось бы на этапе запроса, я так понимаю что это сделать можно, если через мастер импорта добавлять новую таблицу там без проблем



0



4038 / 1423 / 394

Регистрация: 07.08.2013

Сообщений: 3,541

20.01.2017, 04:55

12

ну а если просто тупо — выделить столбец и выбрать формат ячеек Текстовый
не пролазит



0



0 / 0 / 0

Регистрация: 19.02.2016

Сообщений: 14

20.01.2017, 05:00

 [ТС]

13

Нет, чтобы в Excel переделать формат из числа в текст вручную надо выделить столбец и потом выделять каждую ячейку и жать Enter



0



Эксперт MS Access

7267 / 4469 / 288

Регистрация: 12.08.2011

Сообщений: 13,513

20.01.2017, 05:57

14

Цитата
Сообщение от Badya1991
Посмотреть сообщение

чтобы поменять число в текст нужно выделить ячейку выбрать формат текст потом выбрать ячейку и нажать enter

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

Добавлено через 1 минуту

Цитата
Сообщение от Badya1991
Посмотреть сообщение

Нет, чтобы в Excel переделать формат из числа в текст вручную надо выделить столбец и потом выделять каждую ячейку и жать Enter

у меня без всяких махинаций меняет сразу число на текст



0



4038 / 1423 / 394

Регистрация: 07.08.2013

Сообщений: 3,541

20.01.2017, 06:11

15

alvk,
ох не знаю
дома у меня офис 10 так там проблем нету и на работе офис 2016 — тоже нету
а вот раньшее в 2003 — так там как мне помнится (или уже кажется) такая проблема существовала



0



Эксперт MS Access

7267 / 4469 / 288

Регистрация: 12.08.2011

Сообщений: 13,513

20.01.2017, 06:23

16

Было сложно поменять текст на число, а не наоборот. Тогда нужно было умножать специальной вставкой на 1. Но тут на оборот же!



0



0 / 0 / 0

Регистрация: 19.02.2016

Сообщений: 14

20.01.2017, 06:44

 [ТС]

17

Цитата
Сообщение от alvk
Посмотреть сообщение

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

Я не огорчен, потому что как вы написали так не получится, нужно чтобы в Excel было число как текст, и чтобы это получилось нужно сначала поменять формат, зайти в редактирование ячейки и нажать enter, в итоге появится такой треугольник в углу зеленый который покажет что число как текст, после этого в access загрузится, по вашему методу будет таже ошибка.
Если есть сомнения, скачайте архив поменяйте путь к файлу пример в запросе, сделайте как вы предлагаете и посмотрите что получится.



0



Эксперт MS Access

7267 / 4469 / 288

Регистрация: 12.08.2011

Сообщений: 13,513

20.01.2017, 07:30

18

Цитата
Сообщение от Badya1991
Посмотреть сообщение

Если есть сомнения, скачайте архив поменяйте путь к файлу пример в запросе, сделайте как вы предлагаете и посмотрите что получится.

У меня есть сомнения, что вы прочли мою подпись, я её не для красоты сделал.

Файл экселя открыл, столбец поменял на текст, без проблем, никаких энтеров не нажимал.



0



0 / 0 / 0

Регистрация: 19.02.2016

Сообщений: 14

20.01.2017, 07:44

 [ТС]

19

Цитата
Сообщение от alvk
Посмотреть сообщение

Файл экселя открыл, столбец поменял на текст, без проблем, никаких энтеров не нажимал.

Вы теперь загрузите в access через запрос эти данные, и увидите что это не текст.

Тема актуальна, решения не нашел, желательно бы без махинаций в excel



0



mobile

Эксперт MS Access

26777 / 14456 / 3192

Регистрация: 28.04.2012

Сообщений: 15,782

20.01.2017, 08:08

20

Лучший ответ Сообщение было отмечено Badya1991 как решение

Решение

Badya1991, измените параметр HDR на HDR=No. Первая строка будет именем, текстом и запрос пройдет

SQL
1
2
3
INSERT INTO Таблица1 ( a1 )
SELECT f1 
FROM [Excel 12.0 XML;HDR=NO;IMEX=1;DATABASE=C:путьПример.xlsx].[Лист1$];

Потом удаляете строку с именем поля и все идет без ошибок.

Кстати, параметр XML в драйвере необязательный, он нужен для файлов с программируемой структурой, типа xlsm. Но можно и оставить

Добавлено через 8 минут
Да даже в самом запросе можно не брать строку с именем

SQL
1
2
3
4
INSERT INTO Таблица1 ( a1 )
SELECT f1 
FROM [Excel 12.0 XML;HDR=NO;IMEX=1;DATABASE=C:путьПример.xlsx].[Лист1$]
WHERE f1<>"a1"



1



Понравилась статья? Поделить с друзьями:
  • Excel ошибка запуска исходного приложения для обработки объекта excel
  • Excel ошибка доступа к vba
  • Excel ошибка доступ к файлу невозможен
  • Excel ошибка данные могут быть не сохранены
  • Excel ошибка все макросы отключены