Visakh Vijayan
Visakh Vijayan

Reputation: 718

How to create a custom HTML form with Google Spreadsheets and Drive

  1. I am working on this new project where I am not using the Google Forms but using a custom HTML form.
  2. My form has several text fields and image upload fields.
  3. I want to upload this form to a Google spreadsheet. I saw this is possible using Apps Script.
  4. I am confused as to how the images will be stored. Can it be stored into Google Drive?

Thanks in advance.

Upvotes: 0

Views: 569

Answers (1)

LianSheng
LianSheng

Reputation: 448

There just some sample, you can get a lot of useful information from official documents.

Using a Custom HTML

Document: https://developers.google.com/apps-script/guides/html

/**
 * code.gs
 */
function doGet(){
  return HtmlService.createHtmlOutputFromFile('HTML file name');
}

Upload Files

Document: https://developers.google.com/apps-script/advanced/drive#uploading_files

Official example:

/**
 * code.gs
 * Uploads a new file to the user's Drive.
 */
function uploadFile() {
  var image = UrlFetchApp.fetch('url').getBlob();
  var file = {
    title: 'google_logo.png',
    mimeType: 'image/png'
  };
  file = Drive.Files.insert(file, image);
  Logger.log('ID: %s, File size (bytes): %s', file.id, file.fileSize);
}

Spreadsheet: Read Data

Document: https://developers.google.com/apps-script/reference/spreadsheet

/**
 * code.gs
 */
var SpreadSheet = SpreadsheetApp.openByUrl(url);  
var SheetName = SpreadSheet.getSheetByName(users);
var lastColumn = SheetName.getLastColumn();
var lastRow = SheetName.getLastRow();

Spreadsheet: Write Data

/**
 * code.gs
 */
var SpreadSheet = SpreadsheetApp.openByUrl(url);  
var SheetName = SpreadSheet.getSheetByName(users);
var range = SheetName.getRange(1, 5, 1, 1);
range.setValues([["Write Data"]]);

Upvotes: 4

Related Questions