1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Blueprism】 CSVファイルの文字化け処理

Posted at

はじめに

blueprismには「Utility - File Management」VBO内に「Get CSV Text As Collection」オブジェクトがあります。
image.png

これを使用すると下記のようにCSVファイルの中身をコレクションアイテムに格納する事ができます。
image.png

しかし、Webからダウンロードしたcsvファイルをコレクションに格納する場合、
そのcsvファイルがS-JIS以外の文字コードですと、(オブジェクトで文字コードの指定が出来ないため)文字化けしてしまうのです・・・
image.png

そこで今回は、blueprismDXからダウンロード出来る「Utility - File Management - JP」を使用して文字化けせずにコレクションへ格納する方法を解説します。

用意する環境

Blueprism 6.7

使用するビジネスオブジェクト
Utility - File Management - JP

使用するファイル
文字コードをUTF-8に設定したcsvファイル(あえて文字化けを起こすため)

セットアップ

1.BlueprismDXから「Utility - File Management - JP」をダウンロード

2.Blueprismにインポートする

image.png

無事インポートされました
image.png

使い方

新規プロセス作成

文字化け処理をするため、新規でプロセスを作成します。
今回は、プロセス名を「文字化け処理」にしました。
image.png

プロセスの中身はこんな感じ
image.png

文字化け処理をする前と後が分かるよう最初のステージに「Utility - File Management - JP」オブジェクト内のアクション「CSVテキストをコレクションとして取得」をセットして一度コレクションに格納します
image.png
image.png

実行するとこんな感じ
image.png
ばっちり文字化けしていますね・・・・・・

1.文字化け処理の対象となるCSVファイルからテキストをすべて読み取る

ここでは「Utility - File Management - JP」オブジェクト内のアクション「ファイルからすべてのテキストを読み取る」を選んでください。
image.png
image.png

実行すると下記のように文字化けすることなくデータアイテムに格納されます
image.png

下記は「ファイルからすべてのテキストを読み取る」アクションのコードステージの中身です。
image.png

StreamReaderFile_Name 引数だけでインスタンス化していますが、StreamReaderのドキュメント を見ると、UTF-8 エンコードが既定値のようです。そのため文字化けせずに読み取れるのですね。
(これと同じアクションに「ファイルからすべてのテキストを読み取る - 文字コード指定」もあります)

2.1の処理で読み取ったテキストを文字コード指定でファイルに書き込む

文字コードは「shift_jis」を指定
image.png

3.2で作成したcsvファイルをコレクションアイテムに格納する

ファイルパスは先ほど作成したテキストファイルを指定
今回、ヘッダーはTrueに設定しておきます。
image.png
image.png

実行後

文字化けすることなく、コレクションに格納出来ました!
image.png

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?