I’m working on a project where people submit information through a Google Form, which goes into a Google Sheet. Now I want to display this data on a website as a nice looking directory instead of just showing the raw spreadsheet.
Right now I’m using a QUERY function to pick which columns to show, then publishing that sheet and putting it in an iframe. This works but looks messy because there are too many columns and people have to scroll horizontally to see everything.
What I really want is to format each person’s information nicely, maybe with their details spread across multiple lines instead of one long row. Think of it like a business card layout rather than a spreadsheet row.
Is there a way to pull data from Google Sheets and format it properly on a Google Sites page? Or maybe create a formatted Google Doc that updates automatically from the sheet data?
I need something that will automatically update when new form responses come in. Any suggestions on how to approach this?
Google Apps Script is your best bet here. I had the same problem last year - needed to make form responses look way better than the default spreadsheet view. I built a simple web app with Apps Script that grabs data from your sheet and formats it with HTML and CSS however you want. The script auto-detects new rows and displays them in your custom layout. You can make it look like business cards, profiles, whatever works. Updates in real-time when people submit forms too. Takes some coding but it’s pretty straightforward - just HTML templates and basic JavaScript to pull the sheet data. Then you can embed it right into Google Sites or anywhere else. Way cleaner than fighting with spreadsheet formatting.
zapier’s perfect for this. I connect google forms to a webpage template that auto-formats everything - no coding required. set triggers for new rows and it pushes data to your layout. costs money but beats wrestling with apps script.
Had this exact problem when I built a member directory. Here’s what worked: use Google Sheets’ web publishing feature with custom HTML embedding. Don’t publish the whole sheet though - create a separate tab with a custom layout using concatenated cells. Format each person’s info exactly how you want it displayed. Use formulas to pull data from your main responses sheet and arrange it card-style within individual cells. When you publish this formatted version, it looks way cleaner. Use CONCATENATE or the & operator with HTML tags and line breaks to structure everything properly. Updates automatically when new responses come in, and you control exactly what shows without that annoying horizontal scrolling.