Google Spreadsheetのセル内にあるリッチテキストをHTMLへ変換したい


背景

Google Spreadsheetのセルにはテキストスタイル付きのリッチテキストを入力することができます。このリッチテキストをHTMLに変換したいとき、残念ながら今のところ直接変換するようなメソッドは用意されていません。そこでセル内のリッチテキストをHTMLに変換するためのスクリプトを作成しました。これは以前作成したライブラリRichTextAppへ追加メソッドとして使用できるようにしました。

リポジトリはこちらです。

ライブラリのプロジェクトキー

1Ka6RcIG6G9P8AhkJtjy1DAnHk1_rShFPWtdCQ2bxwMsrRE8cfn0cDXBv

インストール方法はこちらでご確認いただけます。

使用方法

ご使用中の GASプロジェクトへライブラリをインストールした後、下記のサンプルスクリプトを使用することができます。

サンプルスクリプト

下記のサンプルスクリプトは、セル"A1:A2"のリッチテキストをHTMLに変換し、結果は2次元配列として返されます。セルが一つの場合は、配列には入らず、文字列としてHTMLが返されます。デフォルトの文字が入ったセルを変換すると、そのフォントのサイズや種類などが入ったHTMLが作成されます。

function RichTextToHTMLForSpreadsheet() {
  var ss = SpreadsheetApp.openById("###");
  var sheet = ss.getSheets()[0];
  var range = sheet.getRange("A1:A2");
  var res = RichTextApp.RichTextToHTMLForSpreadsheet({ range: range });
  console.log(res);
}

注意点

このライブラリは、V8 が有効であることを前提としています。