Страницы: 1
RSS
Не загружает новые столбцы при обновлении данных импорта из CSV
 
Нужен импорт из CSV. Исходный файл обновляется - добавляются новые данные в виде столбцов (новые недели).

Через Данные - Импорт из текстового/CSV файла добавляю файл. Он успешно импортируется - все строки и столбцы.

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

Как победить? Заранее благодарю.

Версия Excel 365  
 
ExElCior, запрос покажите. Когда по кнопке формируется запрос, то редактор запросов в функции в явном виде указывает количество столбцов в источнике. Вот тут.
Csv.Document(File.Contents("C:\ConsUserData\CONS_ERR.TXT"),[Delimiter=",", Columns=6, Encoding=1251, QuoteStyle=QuoteStyle.None])
Если увеличите это число, то начнут подгружаться и новые столбцы. При этом если этим же запросом тащить старые данные, то просто будет образовываться лишний пустой столбец.
Вот горшок пустой, он предмет простой...
 
а если не указывать вообще этот параметр?
 
pantel1987, выгрузит весь файл в один столбец. И этот параметр при тыканьи в кнопки пользователь не указывает, его автоматически распознает движок редактора запросов и сам подставляет в формулу. Юзер там ни сном ни духом...
Так-то можно без параметров выгружать текст в один столбец, а дальше делить по столбцам его уже кнопками в редакторе. Но это уже на вкус и цвет, все фломастеры разные.
Изменено: PooHkrd - 09.11.2020 13:36:09
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Csv.Document(File.Contents("C:\ConsUserData\CONS_ERR.TXT"),[Delimiter=",", Columns=6, Encoding=1251, QuoteStyle=QuoteStyle.None])
Подскажите, где посмотреть этот запрос?

И сразу уточнения.
1. Логику я понял - поменять параметр, когда найду где этот запрос. Но предвижу сложность - у меня несколько десятков CSV импортируется. Понадобится параметры в каждом запросе вручную менять?
2. У меня столбцы = недели. Т.е. каждую неделю необходимо подгружать дополнительный столбец. Как оптимальнее на ваш взгляд решить эту задачу?  
 
Цитата
PooHkrd написал:
выгрузит весь файл в один столбец.
разве? По-моему, определит по первой строке
F1 творит чудеса
 
Цитата
ExElCior написал:
Как оптимальнее на ваш взгляд решить эту задачу
Приложите пример файла csv и импортированного файла Excel.
Владимир
 
Цитата
ExElCior написал:
Подскажите, где посмотреть этот запрос?
Здесь.

Цитата
ExElCior написал:
Как оптимальнее на ваш взгляд решить эту задачу?  
По правилам форума - одна тема - один вопрос. На вскидку, ознакомьтесь с вот этими двумя статьями. Объединив приемы из них в принципе получится, то что вы хотите.
Если что-то не понятно, то сформулируйте задачу, и создавайте новую тему.
Цитата
Максим Зеленский написал:
По-моему, определит по первой строке
Приветствую, прежде чем ответить, я попробовал на своем источнике. Он загнал все в один столбец. О365.
Изменено: PooHkrd - 09.11.2020 13:56:45
Вот горшок пустой, он предмет простой...
 
ExElCior, ознакомьтесь с правилами форума, приведите в порядок отображаемое имя. Сообщение с помощью скрыто
 
Цитата
PooHkrd написал:
Он загнал все в один столбец. О365.
а можно сэмпл?
F1 творит чудеса
 
Максим Зеленский, уже не нужно. Сразу не обратил внимания, что в первой строке файла, на чем пробовал ничего нет, это выгрузка отчета из 1С. Когда убрал лишние строки и первой строкой стали заголовки таблицы, то сразу же стал распознавать столбцы если опустить параметр Columns по первой строке. Но все равно, далеко не всегда в первой строке бывают заголовки. Мой пример тому доказательство. Кстати, получается я соврамши и про то что, выгружает все в первый столбец. Фиг там, он тогда тупо видит только первый столбец, а остальное игнорит.
Изменено: PooHkrd - 10.11.2020 14:19:00
Вот горшок пустой, он предмет простой...
 
PooHkrd, ну то есть все же определяет по первой строке в соответствии с заданным разделителем. Значит, я не ошибся :)
Поэтому если первая строка содержит заголовки, то можно опускать параметр Columns, но надо потом следить за всеми остальными ссылками на имена столбцов (обычно далее на типизации начинает "ломаться")
F1 творит чудеса
 
Всем благодарен за подсказки и участие.

Сходу не понял решения. Поэтому создал тему с просьбой платной помощи -https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=7&TID=134466&a...
Страницы: 1
Наверх