GASを用いてスプレッドシートの指定された名前付き範囲にCSVをインポートするマクロを制作しています

"use strict";


function onOpen() {
  SpreadsheetApp.getUi().createMenu("CSV").addItem("CSVをインポートする","importSampleRange").addToUi();
}

function importSampleRange(formObject) {
  importCsvByNamedRange("sampleRange", "UTF-8", "sample message");
}

var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var sheetObject = spreadSheet.getActiveSheet();
var Main = {};


function showModalForImportingByNamedRange(_message) {
  var message = _message || "Import CSV";
  var htmlTemplate = HtmlService.createTemplateFromFile("importcsv_template.html");
  htmlTemplate.message = message;
  htmlTemplate.r = Main.r;
  htmlTemplate.c = Main.c;
  htmlTemplate.charset = Main.charset;

  SpreadsheetApp.getUi().showModalDialog(htmlTemplate.evaluate(),message);
} 

function doImport(formObject) {
  var charset = formObject.charset.value;
  var fileObject = formObject.file;
  var stringData = fileObject.getDataAsString(charset);
  var csvParsed = Utilities.parseCsv(stringData);
  var r = formObject.r.value;
  var c = formObject.c.value;
  var rl = csvParsed.length;
  var cl = csvParsed[0].length;

  sheetObject.getRange(r,c,rl,cl).setValues(csvParsed);
}

function importCsvByNamedRange(rangeName, _charset, _message) {
  var namedRange = spreadSheet.getRangeByName(rangeName);
  Main.charset = _charset || "UTF-8";
  Main.r = namedRange.getRow() || 1;
  Main.c = namedRange.getColumn() || 1;
  showModalForImportingByNamedRange(_message);
}
<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <base target="_top">
  </head>
  <body>
    <form name="uploadform" onsubmit="handleFormSubmit(this)">
      <p><?= message ?></p>
      <input name="file" type="file" id="file_upload">
      <br>
      <input name="r" type="hidden" value="<?= r ?>">
      <input name="c" type="hidden" value="<?= c ?>">
      <input name="charset" type="hidden" value="<?= charset ?>">
      <input type="submit">
    </form>
    <script>
      function preventFormSubmit() {
        var forms = document.querySelectorAll('form');
        for (var i = 0; i < forms.length; i++) {
          forms[i].addEventListener('submit', function(event) {
            event.preventDefault();
          });
        }
      }
      window.addEventListener('load', preventFormSubmit);

      function handleFormSubmit(formObject) {
        console.log(JSON.stringify(formObject));
        google.script.run.doImport(formObject);
      }
    </script>
  </body>
</html>

importCsvByNamedRangeに対して名前付き範囲、文字列符号化方式、メッセージの3つを与えるだけで指定された名前付き範囲にCSVをインポートできるような構成を考えているのですが、formObjectのプロパティがundefinedとなってしまいます.

JSON.stringifyを用いてformObjectの構成を出力したところ以下の様になっていました

{"0":{},"1":{},"2":{},"3":{},"4":{}}

原因など心当たりがありましたらご教示願いたいです。