Workato で 、Excel で文字化けしない CSV ファイルを出力する

# はじめに

Workato では、Box などのオンラインストレージを利用することで、CSV ファイルを出力することができます。
しかしながら、2024 年 3 月現在では、出力した CSV ファイルを Excel で直接開くと、文字化けが発生してしまいます。

この記事では Excel で直接開いても文字化けをしないための方法を説明します。

# Excel で開けるようにするには

Workato が出力する CSV ファイルの文字コードは、 [UTF-8](https://ja.wikipedia.org/wiki/UTF-8) になります。
UTF-8 には [BOM (Byte Order Mark)](https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E9%A0%86%E3%83%9E%E3%83%BC%E3%82%AF) というデータがデータの先頭につくものとつかないものがあります。
この BOM データがない場合、Excel で UTF-8 の CSV ファイルを直接開くと文字化けが発生します。

出力する際に BOM データを付与することで、**Workato で出力した CSV ファイルを Excel で開いても文字化けさせないことが可能**となります。

また、文字コードをデフォルトの UTF-8 ではなく、Shift JIS にすることでも**Workato で出力した CSV ファイルを Excel で開いても文字化けさせないことは可能**です。

# CSVの出力

この記事では、 Box へのアップロードを例として説明します。

### CSV データの作成
CSV データの作成には CSV Tools by Workato コネクターの Compose CSV アクションを利用します。

![ComposeCsv.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755136/867a460c-8dca-7252-ced2-f6b99adc2145.png)

### Box へアップロード
Box へのアップロードは Box コネクターの Upload file using file contents を利用します。

[File contents] には Compose CSV で作成した [CSV contents] を設定します。
[Destination folder] でアップロード先のフォルダを選択し、 [File name] にファイル名を指定します。
この時、拡張子は ".csv" にします。

![UploadFile1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755136/e768d29f-f09d-19a6-7315-53f93295637a.png)

テスト実行し、アップロードされたファイルをダブルクリックして、 Excel で開くと、文字化けが発生します。

![Test1.csv.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755136/6be43956-2e9d-d3d2-b179-2330a3c2228e.png)

### BOM を付与して、Box へアップロード
ファイルの先頭に BOM を付与する為に、[File contents] で Formula モードに変更し、[CSV contents] の前に 「"\uFEFF"+」 を追加します。

![UploadFile2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755136/16d8d39a-0fe8-8c71-859d-965a52c54944.png)

テスト実行し、アップロードされたファイルをダブルクリックして、 Excel で開くと、文字化けをさせずに開くことができます。

![Test2.csv.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755136/642de361-cefb-85b3-0288-627226ca25d0.png)


### Shift JIS に変更して、Box へアップロード
また、ファイルの文字コードを Shift JIS に変更することでも、文字化けを抑止することができます。
その場合、[File contents] で Formula モードに変更し、[CSV contents] の後ろに 「.encode("Windows-31J")」 を追加します。
[Windows-31J](https://ja.wikipedia.org/wiki/Microsoft%E3%82%B3%E3%83%BC%E3%83%89%E3%83%9A%E3%83%BC%E3%82%B8932)は、Windows アプリケーションにおける Shift JIS の実装を表します。

![UploadFile3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755136/a13df82a-3a37-6049-b0fc-f7b82aadc334.png)


テスト実行し、アップロードされたファイルをダブルクリックして、 Excel で開くと、文字化けをさせずに開くことができます。

![Test3.csv.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755136/0b164a1e-d893-396b-d435-b4f272c904ba.png)


# まとめ

まとめると、以下のようになります。

- Workato で作成した CSV データを直接ファイル保存すると、 Excel で開いた際に文字化けが発生する
- 下記のいずれかで、文字化けを抑止することが可能
    - ファイルの先頭に BOM を付与する
    - ファイルの文字コードを Shift JIS に変更する

# おわりに

CSV ファイルを出力してデータ加工を行うユースケースは多いと思いますが、Workatoで出力した CSV ファイルを Excel で開けるようにするためには、ひと工夫が必要となります。


Workatoの導入・導入後の活用などでお困りの場合、Workatoリセラーにご相談する方法もございます。お困りごとがございましたら、認定リセラーの[日立ソリューションズ](https://www.hitachi-solutions.co.jp/rpa/sp/products/workato/?utm_source=sns&utm_medium=qiita&utm_campaign=["4d581bb041fad6dbaa7f"])へ是非ご相談ください。

# 参考リンク

* 株式会社 日立ソリューションズ
    * [Workato ご紹介サイト](https://www.hitachi-solutions.co.jp/rpa/sp/products/workato/?utm_source=sns&utm_medium=qiita&utm_campaign=["4d581bb041fad6dbaa7f"])
* 本記事のサンプルレシピ
    * JPデータセンター利用者向け 
        * [[Example] Upload CSV file which can be opend by Excel](https://app.jp.workato.com/recipes/369357-example-upload-csv-file-which-can-be-opend-by-excel)
    * USデータセンター利用者向け
        * [[Example] Upload CSV file which can be opend by Excel](https://app.workato.com/recipes/46009771-example-upload-csv-file-which-can-be-opend-by-excel)