こういうシートがあって
getDisplayValues()で返すようにしたときの備忘録です
B列のdateの値を
上部メニュー>表示形式>数字>書式なしテキスト
にするとうまくいきますが
コードで解決したいときは
getDisplayValues()
を使うと良さそう
コード.gs
function doGet () { return HtmlService.createHtmlOutputFromFile("index"); } function get_value_gs () { var ss_url = "https://docs.google.com/spreadsheets/d/1HqeYgrE6N_YEID_R59PHWjVzT1veWPAdskcUo0e0oh4/edit#gid=0"; var sheet = SpreadsheetApp.openByUrl(ss_url); var range = sheet.getRange("A1:B"); var values = range.getValues(); Logger.log(values); return values; } |
index.html
<!DOCTYPE html> <html> <body> <script> get_values(); function get_values() { google.script.run .withFailureHandler(onFailure) .withSuccessHandler(onSuccess) .get_value_gs() } function onSuccess(values) { alert(values); } function onFailure(e) { alert([e.message, e.stack]) } </script> </body> </html> |
getValues()の場合
上記のコード.gsでget_value_gs()を実行すると
Logger.log(values)では以下のようなログが出る
ウェブアプリケーションを開くと
null
getDisplayValues()の場合
コード.gsのvar values = range.getValues()
を
var values = range.getDisplayValues()
に変えて以下のようにする
コード.gsfunction doGet () { return HtmlService.createHtmlOutputFromFile("index"); } function get_value_gs () { var ss_url = "https://docs.google.com/spreadsheets/d/1HqeYgrE6N_YEID_R59PHWjVzT1veWPAdskcUo0e0oh4/edit#gid=0"; var sheet = SpreadsheetApp.openByUrl(ss_url); var range = sheet.getRange("A1:B"); var values = range.getValues(); Logger.log(values); return values; } |
get_value_gs()を実行すると
Logger.log(values)では以下のようなログが出る
ウェブアプリケーションを開くと
セルの値が表示される
関連記事