2024

Dec

15

Av Rolf

Många använder Google Kalkylark istället för Excel. Inte minst för att det är så enkelt att dela data och att flera kan uppdatera samma kalkylark samtidigt. Det viktiga frågan är: Hur kommer informationen i Google Kalkyark till FileMaker? Jag har tidigare skrivit om hur du löpande kan få information från ett Google webbformulär till en FileMaker-databas. Det fungerar så länge databasen finns tillgänglig på en FileMaker Server och tillgänglig från internet. Det går att manuellt exportera kalkylarket till Excel och importera i FileMaker, men det går också att göra helt automatiskt med en knapptryckning i FileMaker även om du inte har en FileMaker Server.

Du behöver publicera ditt kalkylark på webben. Det är såklart en säkerhetsrisk men länken till kalkylarket är ett lösenord i sig, lång och svår att gissa. Informationen i kalkylarket kan visas av alla som får tillgång till länken. Har du känslig information är det inte säkert att denna metod är den bästa.

I Google Kalkylark väljer du kommandot Publicera på webben i menyn Arkiv->Dela.

En dialogruta visas där du får välja hur du vill dela dokumentet.

Jag väljer att publicera hela dokumentet i Excel-format. Resultatet blir en lång webbadress (url) som ser ut ungefär så här:

https://docs.google.com/spreadsheets/d/e/2PACX-1vTE-2j012345678901234567890-ssaUfE4ISdVUxtJzO_o3AbCdEfGhUjKlMnOpQfAbCDe5/pub?output=xlsx

Mitt kalkylark innehåller svar på ett webbformulär med ett nummer, namn, ett datum och ett antal (i exemplet antar jag att det är olika försöksresultat, i det här fallet fejkade).

När jag klistrar in webbadressen i en webbläsare laddas ett Excel-dokument ner som en fil. Det jag vill göra är en knapp i FileMaker som hämtar Excel-dokumentet och importerar det i en FileMaker-databas.

Jag har en databas med samma 4 fält (nr, namn, datum och antal) som i kalkylarket. De visas i en layout i listläge. Jag lägger till ytterligare ett fält, ett container-fält med global lagring som jag kallar för gFil. Det viktiga är att fältet måste finnas på layouten där import-knappen finns, inte nödvändigtvis synligt. Jag placerar det på layouten till höger om det synliga området.

Knappen behöver ett script. Scriptet består av 4 rader:

Första raden hämtar Excel-dokumentet med scriptsteget Infoga från URL och sparar det i container-fältet gFil med global lagring. Observera att det behövs en rad ("--location") i cURl-tillvalet så att FileMaker går vidare till rätt sida (det görs en "redirect").

I den andra raden skapar jag ett namn på en fil som är tänkt att lagras temporärt. Namnet hämtas från namnet på kalkylarket i Google.

Innan Excel-dokumentet kan importeras behöver det sparas på din hårddisk. På rad 3 exporteras nnehållet i container-fältet till ett dokument med namn från rad 2.

Till sist importeras Excel-dokumentet med script-steget Importera poster och skapar poster i FileMaker. Du behöver ange fältordning och ange vilka fält som ska importeras som vanligt.

Resultatet kan bli så här:

Jag ser till att knappen "Importera" i sidhuvudet kör scriptet. Du kan i scriptsteget Importera poster välja att uppdatera befintliga poster och lägga till nya, eller låta scriptet radera alla poster innan du importerar på nytt.

Skriv en kommentar

Din epost-adress stannar hos oss.
Webbsajten använder FileMaker som CMS.