Mam skrypt, który wyświetla szereg wskaźników wydajności komputera w pliku .csv. Program Excel sprawdza podstawowe statystyki dla odchylenia standardowego itp.
Zdaję sobie sprawę, że możesz importować pliki .csv do Excela, ale staram się czytać te dane dynamicznie do mojego modelu Excela bez konieczności ponownego importowania i ponownego modelowania za każdym razem.
Czy istnieje sposób na odniesienie komórki / tabeli do zewnętrznego pliku .csv bez każdorazowego ponownego importowania?
microsoft-excel
microsoft-excel-2010
redaktor
źródło
źródło
Odpowiedzi:
Najprostszym sposobem na to jest zaimportowanie danych do programu Access lub SQL Express, a następnie użycie funkcji i funkcji Data Connection w Excelu. Po wstępnej konfiguracji wystarczy kliknąć Odśwież wszystko, aby pobrać dane i ponownie obliczyć wartości.
Możesz bezpośrednio zaimportować plik CSV za pomocą funkcji połączenia danych, ale będzie chciał pobrać dane i dodać je do arkusza. Będzie to działać, dopóki importujesz go do dodatkowego arkusza roboczego i pozostawiasz formuły i obliczenia na innym arkuszu. Po kliknięciu przycisku Odśwież przy użyciu tej metody poprosi on o nazwę pliku, a następnie zaimportuje go ponownie przy użyciu tych samych ustawień, które były pierwotnie używane. Ta metoda jest również zwykle wolniejsza lub nie nadaje się do użytku z dużymi zestawami danych.
źródło
Windows
Możesz także użyć Power Query, która jest nieco bardziej elastycznym sposobem na osiągnięcie tego samego, co w odpowiedzi @ andy-lynch .
Zobacz poniżej animowany gif do podglądu:
System operacyjny Mac
Power Query nie jest dostępne dla MacOS; ani też okno dialogowe „Z tekstu” programu Excel w systemie MacOS nie akceptuje adresu URL (przynajmniej w wersji 15.33).
Aby utworzyć takie połączenie, najpierw trzeba zbudować plik zapytania sieciowego (.iqy), jak wyjaśniono w tym przewodniku , a następnie zaimportować go za pomocą polecenia menu „Dane -> Uzyskaj dane zewnętrzne -> Uruchom zapisane zapytanie”.
źródło
Pytanie brzmi: „Jak odwoływać się do danych w pliku .csv?
Moim sposobem byłoby wycięcie pliku .csv i użycie makra zawierającego VBA i ADO, który odbiera dane i umieszcza je bezpośrednio w arkuszu programu Excel. Źródłem może być dowolna baza danych zgodna z ODBC.
Excel 2010 zawiera dane >> Uzyskaj dane zewnętrzne - z różnych źródeł danych. Wolę jednak pisać własny kod, ponieważ mam absolutną kontrolę i mogę formatować wyniki w makrze. Odświeżanie odbywa się za pomocą jednego przycisku i możesz z nim zrobić wszystko.
Mógłbym podać kilka szczegółów, jeśli powiesz mi, z której bazy danych pochodzą dane.
PS Spójrz na listę sterowników w Dane >> Uzyskaj dane zewnętrzne >> Istniejące połączenia >> Przeglądaj więcej >> Nowe źródło >> Inne zaawansowane >> Dalej, który prowadzi do listy Właściwości łącza danych. Następnie musisz wiedzieć, jakiej źródłowej bazy danych i jakiego sterownika użyć. Możesz wysłać mi wiadomość e-mail na cliffbeacham w hotmailie, podając więcej szczegółów.
źródło
Prostszym sposobem (dzięki temu postowi ) jest po prostu zaimportowanie danych, tak jak w przypadku pliku tekstowego, który już pobrałeś (tj.
Data > Import Text File
), Ale zamiast wpisywać nazwę pliku, zamiast tego wklej adres URL pliku CSV.źródło
zaimportuj plik csv bezpośrednio przez
File->From Text
sprawdź właściwości połączenia wData->Connections
zobacz Importowanie pliku tekstowego przez połączenie się z nim
źródło
Makro lub skrypt VBS wyglądałby tak (Excel2010 i nowsze):
To makro zostało faktycznie zarejestrowane przez Rejestrator makr Excel 2013. Możesz utworzyć przycisk, który wyzwala to makro.
źródło