GASでスプレッドシート⇒CSV出力する方法
- 岡田 栄次郎 GoogleAppsScript ・AppSheet専門
- 記事制作日2021年9月9日
- 更新日2022年1月5日
- 0いいね!
こんにちはGASエンジニアの岡田です。
複数のシステムを使って仕事していると、別々のシステムを繋げるために
片方のシステムのCSVをダウンロードして、もう片方のシステムにそのCSVをアップロードする
その際に、二つのシステムのCSVの型が異なるから、わざわざデータ変換の手作業が発生する、、、
という場面が多々発生します。
今回はGASを使うと、ダウンロードしたCSVを自動でアップロード用のCSVに変換してくれる便利システムを作れることをご紹介します。
以前依頼があったEC販売をしている事業者さんを例にして解説していきます。
「ECショップをしていて、ヤマト運輸で商品を発送している。送り状を一括で作成するためにヤマト運輸のシステムにCSVをアップロードしている。毎回注文データを送り状用CSVの型に変更するのが面倒」
システムの流れは以下です。
①注文データ⇒ヤマトの送り状用CSVの型に変換
②CSV出力
スプレッドシートから出力するCSVには落とし穴がありますので、最後までご覧ください。
注文データを特定のCSVの型に変換
注文元データ
ヤマトが指定しているCSVの型
この注文データをヤマト指定の型に変換してあげる必要があります。
そんな時に使うのがスプレッドシートの「QUERY関数」です。
QUERY関数とは、特定のデータ群から指定した条件でデータを抽出する関数です。
列を自由に並び替えたりもできるので、非常に便利な関数なのです。
これはエクセル関数には存在しない、スプレッドシート独自の関数で、GAS開発をする際には必ず使用するくらい優れものです。
注文データ⇒ヤマトの型に変更したデータ
Query関数を使ってあげると、このように注文データがヤマトの型に変更してあげることができました。
CSV出力
スプレッドシートをCSV出力する方法は2つあります。
①スプレッドシートから直接「ファイル」⇒「ダウンロード」⇒「CSV」で出力をする
②GASでCSV出力をする
①スプレッドシートから直接CSV出力
スプレッドシートから直接CSVを出力することは可能です。
ただしここには大きな落とし穴があります。
それは文字コードを「Shif-JS」変換できないことです。
CSVの文字コードは2つの種類があります。※厳密には2つでないですが、この2つさえ知っていればOKです
それは
スプレッドシートは「UTF-8」に対応しとエクセルは「Shift-JS」に対応するです。
つまりスプレッドシートにShift-JSを使うと文字化けをし、エクセルにUTF-8を使うと同じく文字化けをしてしまいます。
今回ヤマトのシステムはShif-JS対応なので、直接スプレッドシートからCSVをダウンロードしたものは使えず、スプレッドシートからCSV出力をする際に、Shift-JSに変換してあげる必要があります。
※コピペ手作業でShift-JSに変換することは可能ですが、これは面倒です。
そこでGASの出番となるのです。
②GASでCSV出力をする
GASを使うとUTF-8をShift-JSに変換して出力することが可能です。
出力方法はとても簡単で、オレンジ色の「CSV出力」ボタンを押すだけでGASが実行し、変換したCSVをダウンロードすることができるので、とても簡単です!
以上がスプレッドシートからCSV出力をする方法の解説でした!
ご覧頂きありがとうございました。
- この記事にいいね!する
この記事を書いた人
- 16いいね!
稼働ステータス
◎現在対応可能
- 岡田 栄次郎 GoogleAppsScript ・AppSheet専門
職種
エンジニア
システムエンジニア(SE)
希望時給単価
5,000円~10,000円
はじめまして、岡田と申します。 Google Apps Script、Google Workspace、Appsheetを活用したアプリ開発、業務改善ツール開発を専門のフリーランスエンジニアです。 ホームページ https://gas-engineering.jp/ GASやAppsheetについてのブログ一覧 https://freelance-meikan.com/freelance/554/blog/231 【開発のイメージが湧かない方へ】 Googleのサービスを使ったら、どんな感じに開発できるのかイメージが湧かないという方も大歓迎! フワッとしたイメージでも良いので「こんなことをしたい」という内容を伝えて頂ければ、その内容を実現するための方法を具体的に提案させて頂きます。 一度ビデオ会議でお話してみませんか?もちろん無料です。 【Google Apps Script、Appsheetで開発するメリット】 ★月々にかかる費用がタダ! Googleアカウントさえあれば利用可能なので月々にかかる費用が0円です。GASによる開発は、長期的にみて非常にお得です。 ★開発コストが低い Google WorkSpaceを元に開発するので、作業量が少なく済み、その分コストを抑えることができます。 ★他のGoogleサービスとの連携ができるので自由度が高い Google WorkSpace間の連携ができるので、用途に合わせて自由度高くシステムを作ることができます。 GAS、Appsheetの経験が豊富な私に開発をお任せ頂ければ、御社の業務の効率化に貢献することが可能です。是非宜しくお願い致します。 【無料ヒアリング】 ★無料ヒアリング予約フォーム★ https://forms.gle/f7DVaUkwYAMdyMxf7
スキル
業務改革
GCP
スキル
業務改革
GCP