У меня есть скрипт, который выводит ряд показателей производительности для компьютера в .csv. Excel выполняет базовую проверку статистики для стандартного отклонения и т. Д.
Я понимаю, что вы можете импортировать файлы .csv в Excel, но я пытаюсь динамически считывать эти данные в мою модель Excel без необходимости повторного импорта и повторного моделирования каждый раз.
Есть ли способ сделать ссылку на ячейку / таблицу внешним .csv без повторного импорта каждый раз?
microsoft-excel
microsoft-excel-2010
редактор
источник
источник
Ответы:
Самый простой способ сделать это - импортировать данные в Access или SQL Express, а затем использовать функции и функции Data Connection в Excel. После начальной настройки все, что вам нужно сделать, это нажать «Обновить все», и он извлечет данные и пересчитает значения.
Вы можете напрямую импортировать CSV с помощью функции подключения к данным, но вам нужно будет извлечь данные и добавить их в рабочую таблицу. Это будет работать до тех пор, пока вы импортируете его на дополнительный рабочий лист и оставите свои формулы и вычисления на другом листе. Когда вы нажмете «Обновить» с помощью этого метода, он запросит имя файла, а затем повторно импортирует его, используя те же настройки, которые использовались изначально. Этот метод также обычно медленнее или непригоден для больших наборов данных.
источник
Windows
Вы также можете использовать Power Query, который является более гибким способом достижения того же, что и в ответе @ andy-lynch .
Смотрите анимированный GIF ниже для предварительного просмотра:
MacOS
Power Query недоступен для MacOS; а также диалоговое окно открытия файла Excel «Из текста» в MacOS, принимающее URL-адрес (по крайней мере, в версии 15.33).
Чтобы создать такое соединение, нужно сначала создать файл веб-запроса (.iqy), как описано в этом руководстве , а затем импортировать его с помощью команды меню «Данные -> Получить внешние данные -> Выполнить сохраненный запрос».
источник
Вопрос «Как мне ссылаться на данные в CSV-файле?
Мой способ - вырезать файл .csv и использовать макрос, содержащий VBA и ADO, который получает данные и помещает их непосредственно в рабочий лист в Excel. Любая ODBC-совместимая база данных может быть вашим источником.
В Excel 2010 есть Данные >> Получить внешние данные - из различных источников данных. Однако я предпочитаю писать свой собственный код, потому что у меня есть абсолютный контроль и я могу отформатировать результаты в макросе. Обновить можно одним нажатием кнопки, и вы можете делать с ней все что угодно.
Я мог бы сообщить вам некоторые особенности, если вы скажете мне, из какой базы данных поступают метрики.
PS Посмотрите на список драйверов в разделе Данные >> Получить внешние данные >> Существующие подключения >> Просмотреть дополнительные сведения >> Новый источник >> Прочие дополнительные сведения >> Далее, что приведет вас к списку свойств канала передачи данных. Затем вы должны знать, какую исходную базу данных и какой драйвер использовать. Вы можете написать мне на cliffbeacham на hotmail с более подробной информацией.
источник
Более простой способ (благодаря этому посту ) - просто импортировать данные, как если бы вы уже загружали текстовый файл (то есть
Data > Import Text File
), но вместо ввода имени файла вставьте вместо него URL-адрес файла CSV.источник
импортировать CSV-файл напрямую через
File->From Text
проверку свойств соединения вData->Connections
см. Импорт текстового файла путем подключения к нему
источник
С VBS макрос или скрипт будет выглядеть так (Excel2010 и более поздние версии):
Этот макрос был фактически записан в Excel 2013 Macro Recorder. Вы можете создать кнопку, которая запускает этот макрос.
источник