カテゴリ: Office Scripts 更新日: 2026/03/03

Office Scriptsでセル値をCSV文字列へ変換する方法!Excel自動化とCSV出力の基本をやさしく解説

セル値→CSV文字列へ変換する実装
セル値→CSV文字列へ変換する実装

先生と生徒の会話形式で理解しよう

生徒

「Office ScriptsでExcelのデータをCSVに変換したいんですが、どうやって書けばいいんですか?」

先生

「Office Scriptsを使えば、Excelのセル値を読み取ってCSV文字列へ変換できます。CSV出力も自動化できますよ。」

生徒

「CSVってよく聞くけど、そもそも何なんですか?」

先生

「CSVはデータをカンマで区切った文字列のことです。Excelデータの保存やシステム連携でよく使われます。それでは、Office Scriptsでセル値をCSV文字列に変換する方法を一緒に見ていきましょう!」

1. Office Scriptsとは?Excel自動化の基本

1. Office Scriptsとは?Excel自動化の基本
1. Office Scriptsとは?Excel自動化の基本

Office Scriptsとは、Excel for Webで使える自動化機能です。Excelの操作をコードで記述し、ボタンひとつで処理を実行できます。 たとえば、セルに値を書き込む、表を作る、データを集計する、といった作業を自動化できます。

使用する言語はTypeScriptです。TypeScriptはJavaScriptをもとにした言語で、Web開発でも広く使われています。 初心者の方は「命令を書いたら、その通りにExcelが動く仕組み」と考えると分かりやすいです。

今回は、Excelのセル値を取得し、CSV文字列へ変換する実装方法を詳しく解説します。これは、ExcelデータをCSV形式で出力する処理の基本になります。

2. CSVとは?カンマ区切りデータの仕組み

2. CSVとは?カンマ区切りデータの仕組み
2. CSVとは?カンマ区切りデータの仕組み

CSVとは「Comma Separated Values」の略です。日本語では「カンマ区切りデータ」と呼ばれます。 例えば、次のようなデータがあります。


名前,年齢,住所
山田,20,東京
佐藤,25,大阪

カンマで区切られ、改行で次の行へ移ります。Excelの表データを、テキスト形式で保存するための代表的な形式です。 システム連携、データ移行、外部ツールとのデータ交換など、実務でも頻繁に利用されます。

3. セル値を取得する基本コード

3. セル値を取得する基本コード
3. セル値を取得する基本コード

まずは、Excelのセル値を取得する方法を確認します。 Office Scriptsでは、ワークブックやシート、範囲を順番に指定します。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1:C3");
  const values = range.getValues();
  console.log(values);
}

getValuesメソッドは、セル範囲の値を二次元配列で取得します。 二次元配列とは、行と列を持つデータ構造です。Excelの表と同じイメージです。

4. 配列をCSV文字列へ変換する基本実装

4. 配列をCSV文字列へ変換する基本実装
4. 配列をCSV文字列へ変換する基本実装

取得した二次元配列を、CSV形式の文字列へ変換します。 行ごとにカンマで結合し、最後に改行でつなぎます。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1:C3");
  const values = range.getValues();

  let csv = "";

  for (let i = 0; i < values.length; i++) {
    const row = values[i];
    csv += row.join(",") + "\n";
  }

  console.log(csv);
}

joinメソッドは、配列を指定した文字でつなげる機能です。 ここではカンマを使っているため、CSV形式になります。

5. ダブルクォーテーション対応の安全なCSV変換

5. ダブルクォーテーション対応の安全なCSV変換
5. ダブルクォーテーション対応の安全なCSV変換

セル内にカンマや改行が含まれる場合は注意が必要です。 その場合、値をダブルクォーテーションで囲みます。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const values = sheet.getRange("A1:C3").getValues();

  const csvRows = values.map(row => {
    return row.map(cell => {
      const text = String(cell).replace(/"/g, '""');
      return `"${text}"`;
    }).join(",");
  });

  const csv = csvRows.join("\n");
  console.log(csv);
}

replaceは文字列を置き換える機能です。 二重引用符を二つにすることで、CSV仕様に沿った安全な出力になります。

6. TSV形式へ変換する方法

6. TSV形式へ変換する方法
6. TSV形式へ変換する方法

TSVとはタブ区切り形式です。カンマの代わりにタブを使います。 joinの引数を変更するだけで実装できます。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const values = sheet.getRange("A1:C3").getValues();

  const tsv = values
    .map(row => row.join("\t"))
    .join("\n");

  console.log(tsv);
}

タブ文字は\ tで表します。これだけでTSV出力が可能です。

7. Office ScriptsでCSV変換を自動化するメリット

7. Office ScriptsでCSV変換を自動化するメリット
7. Office ScriptsでCSV変換を自動化するメリット

Office Scriptsでセル値をCSV文字列へ変換することで、Excelデータ出力の自動化が実現します。 毎回手作業で保存する必要がなくなり、業務効率が大きく向上します。

Power Automateと連携すれば、CSVデータをメール送信したり、別システムへ連携したりすることも可能です。 Excel自動化、CSV変換、データ出力処理をまとめて実装できるのが大きな強みです。

初心者の方は、まずセル値取得とjoinの仕組みを理解することが大切です。 それが理解できれば、CSV変換処理は決して難しくありません。

まとめ

まとめ
まとめ

今回は、Office ScriptsでExcelのセル値をCSV文字列へ変換する方法について、基礎から応用まで順番に確認しました。Excel自動化の第一歩として、セル値の取得方法、二次元配列の仕組み、joinを使ったカンマ区切り変換、さらにダブルクォーテーション対応まで学びました。

Office Scriptsは、Excel for Web上で動作する自動化機能です。TypeScriptで処理を書くことで、Excelデータの取得、加工、出力を効率化できます。特にCSV出力は、システム連携やデータ移行、外部ツールとの連携など、実務で非常によく使われる重要な処理です。

セル範囲をgetRangeで取得し、getValuesで二次元配列としてデータを受け取る。この流れが理解できれば、CSV変換の基本は完成です。配列の各行に対してjoinを使い、カンマで結合し、改行で連結することでCSV文字列が完成します。

また、セル内にカンマや改行、ダブルクォーテーションが含まれるケースも考慮する必要があります。そのため、replaceを使ってダブルクォーテーションを二重化し、値全体をダブルクォーテーションで囲む実装を行いました。これにより、安全で正しいCSV出力が可能になります。

さらに、TSV形式への変換もjoinの区切り文字を変更するだけで実現できることを確認しました。Office Scriptsを使えば、CSV変換処理やTSV出力処理も柔軟に対応できます。

Excel自動化、CSV出力、データ変換処理を組み合わせることで、日々の業務効率は大きく向上します。大量データの書き出し、定期的なレポート作成、外部システム連携など、応用範囲は非常に広いです。まずは基本のセル値取得とCSV文字列変換をしっかり理解し、少しずつ実務レベルの自動化へ発展させていきましょう。

サンプルプログラムの総復習

最後に、セル値を安全にCSV文字列へ変換する基本形をもう一度確認します。Excelデータ取得、二次元配列処理、文字列変換、CSV生成の流れを意識しながら見直してみましょう。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1:C3");
  const values = range.getValues();

  const csvRows = values.map(row => {
    return row.map(cell => {
      const text = String(cell).replace(/"/g, '""');
      return `"${text}"`;
    }).join(",");
  });

  const csv = csvRows.join("\n");
  console.log(csv);
}

このコードでは、Excelのアクティブシートから指定範囲を取得し、セル値を配列として読み込みます。その後、各セルを文字列化し、必要なエスケープ処理を行い、最終的にCSV文字列へ変換しています。

Excel自動化を学ぶうえで重要なのは、処理の流れを分解して理解することです。セル取得、配列操作、文字列結合、この三つのステップを意識することで、応用的なデータ加工処理も実装できるようになります。

先生と生徒の振り返り会話

生徒

「Office ScriptsでExcelのセル値をCSV文字列へ変換する流れがやっと分かりました。まずはgetRangeで範囲を取得して、getValuesで二次元配列にするんですよね。」

先生

「その通りです。Excel自動化の基本は、セル値取得と配列操作です。二次元配列として扱えるようになると、CSV変換も自然に理解できます。」

生徒

「joinを使ってカンマ区切りにするだけでCSV出力できるのは意外と簡単でした。でもダブルクォーテーション対応は少し難しかったです。」

先生

「そこが実務では重要です。Excelデータにはカンマや改行が含まれる場合があります。安全なCSV出力を行うためには、文字列置換とエスケープ処理を必ず意識しましょう。」

生徒

「TSV形式にも簡単に変換できました。区切り文字を変えるだけでいいんですね。」

先生

「はい。Office Scriptsは柔軟なデータ変換が可能です。Excel自動化、CSV変換、データ出力処理を組み合わせれば、業務効率化が実現できます。今回学んだセル値取得、二次元配列処理、文字列結合の基礎をしっかり身につけてください。」

生徒

「これでExcelデータを自動でCSV出力できそうです。次はPower Automateと連携してみたいです。」

先生

「素晴らしいですね。Office Scriptsと自動化機能を活用すれば、定期レポート作成やデータ連携も効率的に行えます。まずは基本を確実に理解し、少しずつ応用へ進んでいきましょう。」

カテゴリの一覧へ
新着記事
New1
Excel VBA
VBAの基本構造を理解しよう!モジュール・プロシージャ・関数の役割まとめ
New2
Office Scripts
Office Scriptsで大量シートを効率管理!Excelワークブック最適構造と自動化テクニック
New3
Excel VBA
Excel VBAが今でも使われ続ける理由とは?現場で評価されるポイントを徹底解説
New4
Excel VBA
VBAのIf文の使い方を完全ガイド!初心者でもわかる条件分岐
人気記事
No.1
Java&Spring記事人気No1
Office Scripts
Office Scriptsで別ブックを開いてデータ取得する方法|OneDrive・SharePoint連携でExcel自動化
No.2
Java&Spring記事人気No2
Excel VBA
Excel VBA参照設定エラー「参照が見つかりません」を完全解説!初心者でも原因と対処法がわかる
No.3
Java&Spring記事人気No3
Excel VBA
個人用マクロブック(PERSONAL.XLSB)で作る最強の共通ライブラリ化ガイド
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAは今後なくなる?将来性と企業での活用状況を詳しく解説
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.6
Java&Spring記事人気No6
Excel VBA
VBAのコメントの書き方を完全ガイド!初心者でもわかる説明文の付け方
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAモジュール共有術!複数のブックでマクロを使い回す最適構成
No.8
Java&Spring記事人気No8
Excel VBA
Excel VBAのブレークポイント設定と使い方!初心者でも理解できるデバッグの基本