Excelに環境依存文字?が入っていて、CSV化したときに困った話

久しぶりにお仕事メモです。

ただいま、salesforceを使用した開発をしていてデータ移行の作業をちょこっとお手伝いしております。
顧客から「現システムで管理しているデータはこれです。salesforceに登録してください」とExcel(2007形式.xlsx)でデータを渡されました。

salesforceにデータをインポートさせるには、天下のツールデータローダを使うわけで、それはcsvしか対応していないわけで。

Exceファイルを開く⇒
名前を付けて保存⇒
ファイルの種類を「csv(カンマ区切り)」
とcsv化してみたあとsakuraエディタで表示したら、文字化け「?」が発生して困りました。

2014_11_22cap1.jpg

2014_11_22cap2.jpg


そこで、
Exceファイルを開く⇒
名前を付けて保存⇒
ファイルの種類を「unicodeテキスト」
としてsakuraエディタで開いたところ、文字化けはなくなりましたが文字コードはunicode(BOM付)となることとタブ区切り。

2014_11_22cap3.jpg


文字コードをエディタで修正しUTF-8(BOM無)に変換。さて、データローダでインポート作業だ。
と思ったら、tsv区切りは受け付けてくれませんでした。

大量のデータがある中で、エディタで「'\t'⇒','」とオール置換して問題あるのかないのか?と疑問に思ったので、
安全にcsv化できるよう、javaで簡易にプログラムを作成し、csv化することにしました。

使用しているライブラリはSuperCSVです。

2014_11_22cap4.jpg




これにより、大雑把な業務の流れは以下のようにできました。
1.
Exceファイルを開く⇒
名前を付けて保存⇒
ファイルの種類を「unicodeテキスト」
で保存する。

2.適当なフォルダに作成したプログラムのjarとtxtファイルを放り込む。

3.jarをダブルクリックすると、UTF-8BOM無csvが吐き出される。

4.データローダでアップロード。


今後、他の顧客からもExcelでデータをもらうことがあるかもしれませんので、ちょっと便利かも。

参考URL
http://supercsv.sourceforge.net/
関連記事


--------------------------------------------------------------------------------------

コメントの投稿

非公開コメント

このブログについて
  • 全記事一覧(時間順)
  • このブログについて
  • 私のプロフィール
  • 当ブログで扱っている動画について
  • 記事違いなコメントのお返事

  • カテゴリー
    twitter
    カレンダー
    06 | 2017/07 | 08
    - - - - - - 1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30 31 - - - - -
    Amazon
    でたらめな当ブログにぴったりな商品を自動で表示するみたいです。



    月別アーカイブ
    プロフィール

    たづみ

    Author:たづみ
    ・1981年生まれの男
    ・もう少し詳細なプロフィールはこちらで

    最新コメント
    アクセスランキング
    [ジャンルランキング]
    日記
    1300位
    アクセスランキングを見る>>

    [サブジャンルランキング]
    会社員・OL
    251位
    アクセスランキングを見る>>