Meerdere Excel-bestanden samenvoegen tot één tabel
Door Query Streams te koppelen aan de map met werkmappen, wordt elk werkblad een SQL-tabel — hetzelfde tabblad uit elk bestand, samengevoegd, getypt en alleen-lezen. Geen consolidatiemacro nodig, geen hoofdwerkmap die elke maand opnieuw moet worden opgebouwd.
Query Streams is een veilig, realtime platform voor database-integratie waarmee u een map met Excel-werkmappen kunt omzetten in live SQL-tabellen die u kunt bevragen vanuit Microsoft Excel, Google Sheets, Airtable en uw AI-assistent. Meer informatie vindt u op QueryStreams.com en gratis aanmelden Om je eerste map met werkmappen binnen enkele minuten samen te voegen.
In vrijwel elke organisatie is wel ergens zo'n map te vinden. Een werkblad per maand, per vestiging of per kwartaal, elk met dezelfde drie of vier tabbladen, allemaal gemaakt door iemand die geen idee had dat het ooit bij elkaar opgeteld zou moeten worden. Eens per jaar wordt iemand gevraagd om "de werkbladen te consolideren", en het eerlijke antwoord is dat het een dag duurt en dat het volgend jaar weer moet gebeuren.
De reden dat het moeilijk is, ligt niet aan de berekeningen. Het probleem is dat de interessante gegevens zich niet in de map bevinden, maar daarbuiten. over de map, verdeeld over achtenveertig bestanden en honderdveertig tabbladen. Excel-mapconnector Het draait het om: het presenteert de map als een set SQL-tabellen, één per werkbladnaam, zodat hetzelfde tabblad uit elke werkmap al is samengevoegd voordat je ook maar één regel SQL schrijft.
Waarom de gebruikelijke manieren om Excel-bestanden te combineren niet meer werken.
Er zijn drie veelgebruikte routes, en elk daarvan loopt op hetzelfde punt stuk: ze leveren een samengevoegd resultaat op. ding — een masterwerkmap, een querylading, een draaitabelcache — die correct is op de dag dat deze wordt uitgevoerd en onjuist de dag erna.
| Benadering | Kan meerdere tabbladen tegelijk verwerken. | Wat het u kost |
|---|---|---|
| Werkbladen kopiëren naar een hoofdwerkmap. | Met de hand | Het wordt elke periode opnieuw gedaan, waardoor het hoofdbestand steeds groter wordt en het openen ervan traag verloopt. |
| Power Query “Vanuit map” | Eén voor één | Combineert één geselecteerd werkblad per query, bevindt zich in de werkmap waartoe deze behoort en laadt elke rij in het bestand. Drie tabbladen betekenen drie query's, die afzonderlijk worden beheerd. |
| Een VBA-lus of een Office-script | Indien geschreven aan | Iemand is verantwoordelijk voor het debuggen ervan, het programma opent alle werkmappen om ze te lezen, en een bestand dat door een collega open is blijven staan, stopt de uitvoering. |
| Een online service voor het samenvoegen van XLSX-bestanden. | Nee | Je uploadt de financiële gegevens van het bedrijf naar de server van een onbekende. Voor alles wat commercieel is, is daarmee het gesprek afgelopen. |
| Query Streams Excel-map | Allemaal | Niets wordt samengevoegd, geopend in Excel, gekopieerd of geüpload — elk werkblad wordt een tabel op de plek waar het zich bevindt. |
De gedeelde onderliggende systemen — mapscanning, het bestandsregister, de versleutelde lokale cache, de bestanden en bestanden_gebeurtenissen Inventarisatietabellen, de limieten en de alleen-lezen-garantie — dit geldt voor elk maptype en wordt eenmaal uitgelegd in Hoe kan ik met SQL een zoekopdracht uitvoeren in een map met bestanden?Wat volgt, betreft alleen het gedeelte dat specifiek is voor werkboeken, en werkboeken zijn op meer manieren specifiek dan je zou verwachten.
Eén tabel per werkblad, niet één tabel per map.
Dit is het belangrijkste verschil met een CSV-mapwaarbij elk bestand wordt samengevoegd tot één enkele tabel. Een werkmap is niet één ding, het is een kleine database: Werkmap is gelijk aan database, werkblad is gelijk aan tabelEen Excel-mapconnector koppelt dus één gegevenstabel per werkbladnaam en vult het met de rijen van dat werkblad uit elk werkboek in de map.
Bij een Excel-mapconnector hoeft u geen tabelnaam in te vullen, omdat de werkbladen die naam zelf bepalen. Elke vastgezette tabel heeft een eigen naam. gegevens_ gevolgd door de geanonimiseerde bladnaam, dus een map met werkmappen waarvan de tabbladen Bestellingen, Retouren en Samenvatting heten, geeft je het volgende: data_orders, data_returns en data_samenvattingElk van deze tabellen is een correcte, vastgezette tabel met echte kolomtypen, geen verzameling tekst.
SELECT strftime(order_date, '%Y-%m') AS month, region, COUNT(*) AS orders, SUM(line_total) AS revenue FROM data_orders GROUP BY month, region ORDER BY month, revenue DESC;
Omdat elke rij de _bronbestand Zoals beschreven in de hub-handleiding, kunnen de werkbladen van één werkmap weer worden samengevoegd. Een detailblad koppelen aan het bijbehorende kopblad op _bronbestand Hiermee worden de twee tabbladen van hetzelfde bestand weer samengevoegd, wat in SQL gelijk staat aan de formule voor meerdere werkbladen die je anders achtenveertig keer zou moeten schrijven.
SELECT s.report_month, s.prepared_by, SUM(o.line_total) AS detail_total FROM data_orders AS o JOIN data_summary AS s ON s._source_file = o._source_file GROUP BY s.report_month, s.prepared_by ORDER BY s.report_month;
Twee werkbladnamen die na het opschonen dezelfde tabelnaam krijgen — bijvoorbeeld "Q1 Orders" en "Q1-Orders" — worden als een benoemde weigering beschouwd in plaats van een stille overschrijving, en het bericht geeft aan welke twee werkbladen conflicteren. Hernoem één van de werkbladen in de werkmappen, of geef alleen de gewenste werkbladen op.
Een werkboek waarvan één vastgepind vel ontbreekt, wordt volledig aan de kant gelegd.
Dit gedrag verrast mensen, dus het is de moeite waard om het goed uit te leggen in plaats van het af te doen als "eigenaardigheden".
Zodra de connector tabellen voor Bestellingen, Retouren en Overzicht heeft vastgezet, wordt van elk werkblad verwacht dat het alle drie bevat. Een werkblad met Bestellingen en Overzicht, maar zonder tabblad Retouren, is geparkeerd geheel — niet gedeeltelijk verwerkt, waarbij de retourrijen stilletjes ontbreken. De bestelrijen blijven buiten beschouwing. data_orders Ook dat geldt, en de reden wordt in het dossier vastgelegd.
Het alternatief klinkt vriendelijker, maar is veel gevaarlijker. Het innemen van de twee aanwezige tabletten zou je een data_returns Een tabel waarin één maand volledig ontbreekt, zonder dat de cijfers daar iets van merken. Elk totaal dat daaruit wordt berekend, zou precies dat bedrag verkeerd zijn, wat niemand kan zien. Een ontbrekend werkblad is het schoolvoorbeeld van een stille, gedeeltelijke gegevensfout, en de connector behandelt dit als een gegevensfout in plaats van een opmaakafwijking.
De regel geldt ook andersom. Een werkmap waaraan een tabblad is toegevoegd dat de pin nog nooit heeft gezien, wordt ook geparkeerd, omdat een nieuw blad nieuwe gegevens bevat en de connector niet voor u bepaalt of het erbij hoort. Hetzelfde geldt voor een blad waarvan de kolommen zijn verplaatst: een toegevoegde kolom, een verwijderde kolom of een typewijziging van tekst naar getal zorgen er allemaal voor dat de werkmap wordt geparkeerd en dat het blad en de kolom die niet overeenkomen, worden benoemd.
vellen De optie om een expliciete lijst met items op te nemen, zoals 'Bestellingen en retouren', geeft de connector aan dat al het andere bewust buiten het bereik valt. Zo telt het tabblad 'Notities' of 'Pivot1' van een collega niet langer als een onverwacht werkblad. Dit is de meest nuttige instelling van deze driver.
Een lijst met inclusies wordt net zo streng gecontroleerd als al het andere: een werkblad dat in de lijst voorkomt, maar in geen van de onderzochte werkmappen wordt gevonden, wordt als een afwijzing beschouwd. Hierbij wordt een lijst met de werkbladen vermeld die wel in de lijst voorkomen. waren gevonden, omdat een typefout in een include-lijst er anders precies hetzelfde uit zou zien als een werkende configuratie.
De weigering die je behoedt voor een map vol lege tabellen.
Volg de regel van het hele werkboek tot het einde en je stuit op een onaangename verrassing. Als de werkboeken in een map rechtmatig verschillend Twee sets werkbladen — de ene bevat bestellingen en een samenvatting, de andere verzendingen en een samenvatting — en de vastgezette set is de samenvoeging van al deze sets. Geen enkel werkblad bevat de volledige samenvoeging, en elk bestand wordt geparkeerd. De connector zou vijf tabellen vastzetten, niets importeren en een technisch correcte succesmelding geven.
Dat resultaat wordt dus tijdens de eerste synchronisatie gedetecteerd en bij naam geweigerd voordat er iets gebeurt. Het bericht geeft een lijst van de bladen die vastgezet zouden worden, toont de verschillende bladverzamelingen die daadwerkelijk zijn gezien met voorbeeldbestandsnamen, en wijst op de twee daadwerkelijke oplossingen.
- Selecteer de optie om de bladen te filteren naar de tabbladen die elk werkboek daadwerkelijk gemeen heeft — meestal het juiste antwoord als je op zoek bent naar één gemeenschappelijk werkblad.
- Wijzig de tabelindeling naar één tabel per indeling., waardoor de bladnaam helemaal niet meer als groeperingssleutel wordt gebruikt. Dat is het volgende onderdeel.
Een afwijzing met twee concrete oplossingen is een beter resultaat dan vijf lege tabellen en een groen vinkje, en daarom is het de moeite waard om deze connector te gebruiken voor een map waarover je twijfelt.
Eén tabel per lay-out, voor mappen die door mensen zijn samengesteld.
Excel is menselijk domein. Werkmappen in een fysieke map hebben zelden dezelfde lay-out, omdat ze door mensen zijn gemaakt en niet door een dagelijkse export. één tabel per lay-out Deze modus is precies daarvoor ontworpen.
In deze modus is de eenheid niet de naam van het werkblad, maar het individuele werkblad binnen een individuele werkmap, en werkbladen worden gegroepeerd op basis van hun exact Vorm: de geordende lijst met kolomnamen en -typen. Elke unieke vorm wordt een eigen tabel. Het gevolg is bevrijdend en in eerste instantie een beetje vreemd: een tabblad met de naam Sheet1 in de ene werkmap wordt gekoppeld aan een tabblad met de naam Data in een andere werkmap wanneer de kolommen en typen exact overeenkomen, terwijl twee tabbladen die dezelfde naam maar niet dezelfde vorm hebben, in aparte tabellen terechtkomen.
| Gedrag | Standaardindeling (vastgezet) | Eén tafel per lay-out |
|---|---|---|
| Groeperingssleutel | De naam van het werkblad | De exacte kolomnaam en typevolgorde |
| De indeling van de werkbladen kan per werkboek verschillen. | Nee — direct geweigerd. | Ja, dat is precies het punt. |
| Bijna-ongelukken | Geparkeerd als drift | Maak er een aparte tabel van — er is geen samenvoeging mogelijk van "bijna hetzelfde" met null-waarden. |
| Tabelnamen | gegevens_bladnaam | Afgeleid van de bestandsnamen die de groep voedden. |
| Plafond | Eén tabel per pagina gevonden | 25 verschillende lay-outs, gevolgd door een benoemde weigering. |
In deze modus zijn de namen afkomstig van de bestanden zelf, niet van de tabbladen. De connector neemt het eerste deel dat de bestandsnamen van de groep gemeen hebben en verwijdert de numerieke fragmenten aan het einde, zodat orders_2026_01.xlsx door orders_2026_12.xlsx maak een tabel genaamd bestellingen — en, belangrijker nog, een eenzame verzendingen_week_01.xlsx produceert verzendingen_week in plaats van verzendingen_week_01Dat is belangrijk omdat een vastgezette tabel nooit meer hernoemd wordt zodra uw opgeslagen query's ernaar verwijzen. De naam die een enkel bestand genereert, moet dus dezelfde naam zijn als die van de toekomstige bestanden in hetzelfde bestand. Als er geen bruikbare naam meer overblijft, wordt de bladnaam gebruikt; als twee groepen nog steeds dezelfde naam willen, krijgt één groep een kort hash-achtervoegsel.
Wijzigingen worden hier toegevoegd en nooit met terugwerkende kracht doorgevoerd. Een werkblad waarvan de lay-out nog nooit door de speld is gezien, parkeert zijn werkmap in plaats van in de dichtstbijzijnde tabel te worden geplaatst; het wijzigen van een verbindingsoptie herberekent de map en accepteert de nieuwe lay-out als een nieuw tabel, en elke lay-out die de vorige pin al een naam had gegeven, behoudt exact dezelfde naam.
Elk getal in een spreadsheet is een drijvende-komma getal.
Een .xlsx-bestand slaat in feite elke numerieke cel op als een double. Er is geen integer-type op het werkblad, wat betekent dat een ordernummer, een hoeveelheid en een percentage er voor een lezer identiek uitzien. Als je dat zo laat, krijg je een kolom met DUBBELE waar je hele getallen verwachtte, en identificatoren weergegeven als 1002.0.
Query Streams onderzoekt de bemonsterde waarden in plaats van te vertrouwen op het gedeclareerde type. Wanneer elke waarde in een numerieke kolom geheel, eindig en binnen het bereik is, wordt de kolom gepromoveerd en vastgezet als numeriek. GROOT — zodat identificatoren, tellingen en hoeveelheden zich gedragen als gehele getallen in uw SQL-query en in het spreadsheet waarin ze terechtkomen.
De promotie wordt vervolgens bestand voor bestand verdedigd. Elk werkblad wordt opnieuw gecontroleerd voordat de rijen worden weggeschreven, en een fractionele, oneindige of buiten het bereik liggende waarde in een gepromoveerde kolom zorgt ervoor dat dat werkblad wordt geparkeerd, waarbij de naam van het werkblad en de kolom wordt vermeld. Dit is opzettelijk: het converteren van een double naar een integer rondt stilzwijgend af, dus het vriendelijke gedrag zou 0,5 eenheden omzetten in nul of één zonder ooit te vermelden welke. Een benoemde parkeeractie is het eerlijke alternatief.
De gegevenstypen moeten ook in de hele map overeenkomen. Als factuurnummer Als een waarde in de meeste werkmappen als een getal wordt gelezen en in één als tekst, weigert de eerste synchronisatie beide bestanden en beide typen en plaatst deze tussen aanhalingstekens, in plaats van een meerderheidsstemming te houden en de afwijkende waarde te negeren. Kolommen die simpelweg ontbreken in sommige werkmappen zijn een minder problematisch geval: ze worden vastgezet als null-waarden en worden als leeg gelezen vanuit de werkbladen waarin ze ontbreken.
Waar de connector denkt dat uw tafel begint en eindigt
Een werkblad is geen bestandsformaat, het is een canvas waarop mensen dingen plaatsen. Er zijn twee regels die bepalen hoe een werkblad in rijen wordt omgezet, en beide zijn gemakkelijk te gebruiken als je ze eenmaal kent.
Het lezen begint bij de eerste rij die daadwerkelijk cellen bevatEn die rij wordt behandeld als de koptekst, die de kolomnamen levert. Lege rijen boven de gegevens worden overgeslagen, zodat een tabel die begint bij A4 omdat er bovenaan ruimte is vrijgelaten, correct wordt gelezen. Een titel of een samengevoegde banner in A1 is niet Als het veld leeg zou zijn, zou het in plaats daarvan als koptekst worden gelezen, wat zich onmiddellijk manifesteert als absurde kolomnamen in plaats van als een subtiel fout antwoord.
Het lezen stopt bij de eerste volledig lege rijEen lege regel vóór een totalenblok is daarom een natuurlijke grens: de gegevens erboven vormen de tabel en de totalenregel eronder wordt weggelaten, wat meestal wenselijk is omdat een totalenregel anders de getallen zou verdubbelen. Het betekent ook dat een lege regel midden in een lange lijst het betreffende werkblad stilzwijgend afkapt. Dus als het aantal rijen per bestand te laag lijkt, is een lege regel het eerste wat je moet controleren.
SELECT _source_file, COUNT(*) AS rows, MIN(order_date) AS first_date, MAX(order_date) AS last_date FROM data_orders GROUP BY _source_file ORDER BY _source_file;
Die ene query is de volledigheidscontrole voor een map met werkmappen. Omdat een bestand altijd volledig of volledig is, is een werkmap die ontbreekt in de resultaten geparkeerd en wordt de reden daarvoor nog niet vermeld. bestanden_gebeurtenissenEen werkmap met een veel lager aantal elementen dan de aangrenzende werkmappen stuit meestal op een lege rij.
De lezer wordt samen met de agent in de scène gezet, niet gedownload.
Het correct lezen van .xlsx-bestanden is een waar staaltje techniek, en Query Streams gebruikt de officiële, ondertekende Excel-lezer voor zijn query-engine in plaats van een zelfontwikkelde parser. Daar komt de echte type-inferentie vandaan. Dat binaire bestand is ongeveer 46 MB groot en is gekoppeld aan de engineversie waarvoor het is gebouwd.
Het is daarom wordt tegelijk met de netwerkagent klaargezet wanneer de agent wordt geïnstalleerd of bijgewerkt.En het bestand wordt nooit opgehaald tijdens de query. Agents draaien op machines die zich mogelijk achter een proxy bevinden, op een geïsoleerd netwerksegment, of gewoon een tijdje offline zijn. Een connector die stilletjes een internetdownload nodig heeft wanneer iemand de eerste query uitvoert, zal precies op die plekken falen. Als het bestand daadwerkelijk ontbreekt, geeft de connector dat met naam aan en vraagt u om het installatieprogramma opnieuw uit te voeren — er wordt niet teruggevallen op een minder geavanceerde parser om een ander antwoord te geven.
Een belangrijk gevolg om te weten: het opsommen van de tabbladen in een werkmap gebeurt door de agent zelf, door de index van de werkmap te lezen. Een .xlsx-bestand is een zip-archief en de lijst met werkbladen bevindt zich daarin. Een bestand dat geen geldige Open XML-werkmap is, kan niet worden geïndexeerd. Een verouderd binair .xls-bestand dat is hernoemd naar .xlsx, een onvolledige upload of een gedeeltelijk geschreven bestand krijgt daarom de melding "niet leesbaar als een xlsx-werkmap" in plaats van een verwarrende parseerfout. Echte .xls-bestanden moeten eerst opnieuw worden opgeslagen als .xlsx.
| Wat is er gebeurd | Wat de connector doet |
|---|---|
| Werkmappen verschillen van mening over het type van een kolom. | Weigert de eerste synchronisatie, waarbij beide bestanden en beide typen als bron worden vermeld. |
| Geen enkel werkboek bevat alle vastgepinde vellen. | Weigert, met vermelding van de getoonde sets werkbladen en de twee correcties. |
| In een werkmap ontbreekt een vastgepind blad. | Parkeer dat werkboek als geheel; de rest blijft synchroniseren. |
| Een werkboek heeft een extra blad gekregen. | Parkeert het, tenzij de vellen include-list plaatst het buiten het bereik |
| Een kolom wordt toegevoegd, verwijderd of opnieuw getypt in één werkblad. | Parks dat werkboek, met vermelding van het blad en de kolom. |
| Een fractionele waarde in een kolom met gepromoveerde gehele getallen | Parks dat werkboek, met vermelding van het blad en de kolom. |
| Het bestand is geen leesbaar .xlsx-bestand. | Parkeert het op naam; bij de eerste synchronisatie wordt het overgeslagen en gerapporteerd. |
| Een niet-herkende driveroptie | Ronduit geweigerd — een instelling die niets doet is erger dan een fout. |
Let op het verschil tussen de eerste twee rijen en de rest. Meningsverschillen over de vorm van de map zijn weigeringen, omdat er geen veilige tafel is om vast te pinnen. Problemen met een individueel werkboek Het zijn parken, want de andere zevenenveertig bestanden hebben niets verkeerd gedaan en zouden gewoon moeten blijven werken.
Alle Excel-instellingen en wanneer je ze moet wijzigen.
Een Excel-mapconnector voegt slechts twee eigen instellingen toe. Vellen en TabelindelingEn twee gedeelde mappen gedragen zich op werkmappen voldoende verschillend om hier te bespreken. Al het andere op het formulier — rootmappen, recursie en maximale diepte, symbolische links, het patroon voor het parseren van bestandsnamen, maptokens, het scaninterval, hashing, het verwijderingsbeleid, het bewaren van gebeurtenissen, de scanlimieten en de vier ingest-limieten — wordt gedeeld door elk maptype en wordt eenmaal gedocumenteerd in de handleiding voor de File Set-connectorIn dit gedeelte wordt uitgelegd wat werkboeken hieraan toevoegen.
Een veld waarnaar u zult zoeken en dat u niet zult vinden is TabelnaamEen map met CSV-, Parquet- en JSONL-bestanden heeft er een, omdat alle inhoud ervan wordt samengevoegd tot één tabel. Een Excel-map heeft er geen, omdat de werkbladen de tabellen al een naam geven. data_orders, data_returns enzovoort, zoals hierboven beschreven. Er is niets in te typen en er is niets dat je kunt typen om het te veranderen.
Vellen
Standaardwaarde: leeg, wat betekent dat elk werkblad in elke werkmap wordt ingevuld. Dit is de instelling die het meeste werk verricht voor dit stuurprogramma, en degene die je als eerste moet proberen als er iets niet naar behoren werkt.
Hoe stel je het in? één bladnaam per regel, in het vak met het label VellenElke naam komt exact overeen met de naam van een tabblad in het werkblad, zoals deze in de werkmap verschijnt. Elke naam die u opgeeft, wordt een eigen vastgezette tabel; alles wat u niet opgeeft, wordt als bewust buiten het bereik beschouwd en nooit gelezen.
Bestellingen Retourneren
Wanneer moet je het veranderen? Er zijn twee situaties, en beide komen vaak voor. De eerste is een werkmap met tabbladen die niemand als tabel wil gebruiken — een tabblad 'Notities', een tabblad 'Instructies', een tabblad 'Draaitabel 1' dat is achtergelaten door degene die het bestand heeft gemaakt, en een hulptabel voor 'Grafiekgegevens'. De tweede is een werkmap met negen tabbladen waarin je alleen geïnteresseerd bent in bestellingen. In beide gevallen is het overzichtelijker om de tabbladen die je wilt gebruiken een naam te geven dan om de tabbladen die je niet wilt gebruiken te beschrijven.
Het is ook de netste oplossing wanneer een enkel losgeraakt tabblad een weigering of een reeks vastgelopen werkmappen veroorzaakt. Omdat van elke werkmap verwacht wordt dat deze alle vastgepinde bladen bevat – en een werkmap waar er één ontbreekt, wordt volledig aan de kant geschoven, omdat Een werkboek waarvan één vastgepind vel ontbreekt, wordt volledig aan de kant gelegd. Zoals hierboven uitgelegd, is het toevoegen van een persoonlijk tabblad aan een kopie door één collega al voldoende om dat bestand te blokkeren. Door de bladen die je daadwerkelijk nodig hebt op te sommen, wordt het ongewenste tabblad buiten beschouwing gelaten en de werkmap weer relevant.
Als je het fout doet: Een werkblad dat u een naam geeft maar dat in geen van de gecontroleerde werkmappen voorkomt, is een benoemde weigering die de wel gevonden werkbladen weergeeft, en geen stille lege tabel. Een typefout kan niet doorgaan voor een werkende configuratie.
Tabelindeling
Standaard: één vastgezette lay-out, waarbij van elk werkboek binnen het toepassingsgebied wordt verwacht dat het dezelfde structuur heeft. Het alternatief is één tabel per lay-out, waarbij werkbladen worden gegroepeerd op basis van hun exacte kolommen en typen in plaats van op werkbladnaam, tot wel 25 verschillende lay-outs.
Het is de moeite waard om het ronduit te zeggen: De optie 'per lay-out' is vaker de juiste oplossing voor een Excel-map dan voor welk ander maptype dan ook. Een map met Parquet-bestanden is door een machine geschreven en zal uniform zijn. Een map met werkmappen is door mensen in de loop der jaren samengesteld, en uniformiteit is dan eerder uitzondering. Als de standaardinstelling uw map weigert, is dat geen probleem dat u moet omzeilen; de connector geeft dan aan dat dit een map is die per lay-out is samengesteld.
Wat gebeurt er als je het verandert? De map wordt opnieuw bemonsterd en de tabellen worden opnieuw opgebouwd. Dat is de bedoeling, omdat de vastgezette vorm precies is veranderd. Tabelnamen die al in gebruik zijn, worden behouden tijdens het heropbouwproces, zodat bestaande opgeslagen query's, spreadsheetverversingen en Nova-vragen blijven werken. De sectie Eén tabel per lay-out, voor mappen die door mensen zijn samengesteld. Hierboven wordt uitgelegd hoe de namen zijn ontstaan en hoe de twee modi van elkaar verschillen.
Patronen opnemen en uitsluiten
Dit zijn gedeelde instellingen, maar de Excel-kaart vult er alvast één voor je in en er is een valkuil met een vergrendeld bestand die het vermelden waard is. Voeg patronen toe wordt vooraf gevuld geleverd met **/*.xlsx, wat doorgaans correct is zoals het er nu staat. Beperk de selectie wanneer de map werkmappen bevat die geen deel uitmaken van dezelfde dataset. **/month-end-*.xlsx, of exports/**/*.xlsx Een archiefmap op hetzelfde niveau overslaan.
**/~$* Om patronen op gedeelde schijven uit te sluiten. Wanneer iemand een werkmap open heeft, schrijft Microsoft Excel een verborgen vergrendelingsbestand ernaast met de naam ~$whatever.xlsxHet komt overeen met het inclusiepatroon, het is geen leesbaar werkblad en het wordt geparkeerd — dus een collega met een geopend bestand maakt bij elke scan een nieuw geparkeerd bestand aan. Het eenmalig uitsluiten van het voorvoegsel is de permanente oplossing. Uw uitsluitingspatronen worden toegevoegd aan de ingebouwde lijst in plaats van deze te vervangen.
Eén regel die de tovenaar hanteert: Een gemengde map bevat twee connectoren op dezelfde root, één per driver. Als dezelfde map zowel werkmappen als CSV-bestanden bevat, werkt het niet om het opnamepatroon uit te breiden om beide te omvatten, omdat twee formaten geen vastgezette vorm kunnen delen. Wijs in plaats daarvan een Excel-mapconnector en een CSV-mapconnector naar hetzelfde pad.
Manifest-overrides (JSON)
Achter Toon geavanceerde optiesDit is de noodoplossing voor een vastgezette vorm die qua structuur correct is, maar in detail onjuist: een kolom die u wilt hernoemen, een type dat u wilt vastzetten, een kolom die u liever helemaal niet hebt. Deze instelling wordt toegepast wanneer de vorm wordt vastgezet, zodat deze onderdeel wordt van de tabeldefinitie in plaats van dat deze bij elke query opnieuw wordt toegepast.
{ "renames": { "qty": "quantity" }, "retypes": { "price": "DECIMAL(18,4)" }, "exclude": [ "internal_notes" ] }
- hernoemt — Geef een kolom een betere naam dan de koptekst. Handig in werkbladen, waar een kopcel bijvoorbeeld een hele zin kan zijn.
- hertypen — koppel een kolom aan een type naar keuze in plaats van aan het type dat is gedetecteerd.
- uitsluiten — laat de kolommen volledig uit de tabel weg.
Specifiek voor Excel, hertypen is het praktische antwoord op het drijvende-kommaprobleem zoals hierboven beschreven. Een valutakolom heeft decimalen, waardoor deze nooit wordt geconverteerd naar een geheel getal en een zwevendekommagetal blijft, waar zeer grote bedragen kunnen afwijken. Door deze vast te zetten met "totaal": "DECIMAL(18,2)" geeft je exacte rekenkundige bewerkingen; het vastzetten van een identificator met "factuurnummer": "BIGINT" voorkomt dat het wordt weergegeven als 1002.0Een hertyping wordt beschouwd als een bewuste instructie en wordt toegepast tijdens het lezen van de regels.
Door het vakje leeg te maken, worden je overschrijvingen gewist en worden de tabellen teruggezet naar de vorm die is gebruikt bij het bemonsteren. Alleen eenvoudige typenamen met optionele precisie worden geaccepteerd. DECIMAL(18,2), VARCHAR, GROOT, DATUM — en alles wat ongebruikelijk is, wordt afgewezen tijdens het opslaan in plaats van tijdens het synchroniseren.
Het instellen ervan
U hebt een Query Streams-account nodig en de Network Agent moet geïnstalleerd zijn op een locatie waar de map zichtbaar is — een bestandsserver, een werkstation met de gedeelde map of uw eigen laptop. Excel-mapconnectoren vereisen... Netwerkagent 2.6 of nieuwer.
- Installeer de agent vanuit de downloadpagina als het nog niet draait.
- Voeg in het portaal een gegevensconnector toe en kies Excel-map.
- Voer het mappad in zoals de machine van de agent het ziet. Voeg patronen toe is al ingezaaid met
**/*.xlsx; beperk het tot zoiets als**/month-end-*.xlsxals de map werkmappen bevat die u niet wilt samenvoegen. - Als de werkmappen tabbladen bevatten die u niet nodig hebt, geef dan aan welke u wel wilt behouden. Vellen, één per regel. Laat het leeg om alle vellen te gebruiken.
- Opslaan. De agent neemt maximaal 64 werkmappen als voorbeeld, selecteert één tabel per werkblad en rapporteert de bevindingen, inclusief werkmappen die niet konden worden ingelezen.
- Open de querybuilder, kies de connector en voer de query uit op de tabellen in het werkblad, of laat Nova AI de SQL-query voor u schrijven.
\\financiën\einde van de maandof een lokaal pad op de eigen machine van de agent, en controleer of het account waaronder de agent draait, dit pad kan lezen.
Waar de tabellen in het werkblad geplaatst kunnen worden
- Microsoft Excel en Google Sheets — Voer de query uit vanuit de invoegtoepassing en de gecombineerde rijen verschijnen in het werkblad, dat naar behoefte wordt vernieuwd.
- Airtable, Smartsheet, Baserow, SeaTable en Anvil — Geplande synchronisaties zorgen ervoor dat de geconsolideerde gegevens worden overgezet naar de tool die uw team al gebruikt.
- Nova AI — Stel een vraag in begrijpelijke taal en ontvang SQL-resultaten voor alle werkmappen, inclusief een grafiek.
- Claude, Cursor, ChatGPT en Grok — Via de Query Streams MCP-server kan een AI-assistent de map met werkmappen rechtstreeks doorzoeken.
- REST API — maak van een geconsolideerde werkbladtabel een eindpunt voor een partner of een interne applicatie.
Er zit een prettige symmetrie in het eerste voorbeeld. De map met werkmappen wordt een dynamische tabel die je opvraagt vanuit een spreadsheet – het antwoord verschijnt dus direct in Microsoft Excel, zonder dat iemand achtenveertig Excel-bestanden hoeft te openen om het te genereren.
Veelgestelde vragen
Hoe kan ik meerdere Excel-bestanden samenvoegen tot één tabel? +
**/*.xlsxElke werkbladnaam wordt een SQL-tabel die de rijen van dat tabblad uit alle werkmappen in de map bevat. Niets wordt samengevoegd tot een nieuw bestand, dus werkmappen die later worden toegevoegd, worden automatisch meegenomen bij de volgende synchronisatie.
Waarom krijg ik één tabel per werkblad in plaats van één gecombineerde tabel? +
data_orders, data_samenvatting — en hetzelfde tabblad uit elke werkmap wordt daarin samengevoegd. Als je alles van één tabblad in één tabel wilt hebben, dan krijg je precies dat.
Eén werkmap werd apart gehouden omdat er een werkblad ontbrak. Waarom importeer je de andere niet gewoon? +
bestanden_gebeurtenissen terwijl de andere werkmappen blijven synchroniseren. Voeg het blad weer toe of verklein de selectie. vellen include-list voor de tabbladen die werkelijk overal verschijnen.
Mijn werkmappen hebben verschillende tabbladen. Kan ik die nog steeds samenvoegen? +
Kan ik slechts één specifiek werkblad uit elk werkboek combineren? +
vellen Deze optie is gekoppeld aan die ene naam. Alleen die naam wordt vastgezet en gelezen, en alle andere tabbladen worden bewust als buiten het bereik beschouwd. Dit voorkomt ook dat tijdelijke tabbladen en draaitabellen in werkmappen worden opgeslagen. Een blad dat in de optie wordt genoemd, maar in geen van de geselecteerde werkmappen voorkomt, wordt als een fout gerapporteerd in plaats van genegeerd. Een typefout kan dus niet onopgemerkt blijven.
Waarom worden er decimalen weergegeven in mijn ID-nummers, of waarom is dat gestopt? +
Zullen de valutatotalen exact kloppen? +
Kan het programma .xls-bestanden lezen, en moet mijn werkblad in cel A1 beginnen? +
Hoeveel werkmappen kan één connector aan? +
Zijn mijn werkmappen geopend, gewijzigd of geüpload? +
SELECT, MET, PRAGMA, BESCHRIJVEN of UITLEGGEN een verklaring, en alles wat dat zou kunnen schrijven wordt afgewezen voordat het wordt uitgevoerd.
Kan ik gegevens uit een werkmap koppelen aan mijn database? +
Aan de slag
Stop met het handmatig samenvoegen van werkmappen.
Wijs de agent één keer naar de map en vraag elk werkblad op als een SQL-tabel – vanuit Microsoft Excel, Google Sheets, Airtable of je AI-assistent. Het werkblad van de volgende maand wordt automatisch toegevoegd en je bestanden verlaten je netwerk nooit.
Gerelateerde handleidingen: Hoe kan ik met SQL een zoekopdracht uitvoeren in een map met bestanden? | Combineer meerdere CSV-bestanden in één tabel. | Download de Query Streams Agent. | Alle handleidingen voor File Set Connector
Categorie: Bestandsetconnectoren
Trefwoorden: meerdere Excel-bestanden samenvoegen, Excel-bestanden combineren, meerdere Excel-bestanden in één bestand samenvoegen, Excel-bestanden opvragen met SQL, Excel-mapconnector, XLSX-map, werkmappen consolideren
Metabeschrijving: Voeg meerdere Excel-bestanden samen tot één live SQL-tabel. Eén tabel per werkblad, geen uploads, alleen-lezen.

