読者です 読者をやめる 読者になる 読者になる

dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

follow us in feedly

[Salesforce]ApexでCSVファイルをアップロードする

Salesforce apex

この記事を参考に。

SFDCで大容量CSVアップロード作ってみました。 - SHANON Engineer's Blog

ほぼほぼこの通りでいいのですが、

  • parser でやろうとしている処理が parser という名前と一致しない
  • " (ダブルクォート)で囲った値があった時に対応できない
  • 表記崩れや変数の宣言忘れなどがあり、そのままでは動かない

といった問題があったため、自分なりに書き直したものをここに載せておく。

コード

やりかけだけど動くものをこちらに。

同じものを GitHub にも置いてます。

https://github.com/zaki-yama/force-com/tree/feature/batch-csv-upload/batch-csv-upload

TODO

  • " (ダブルクォート)で囲った値があった時に対応できない

これがまだ対応できていない。

CSV のパースについては上で紹介した記事からも参考 URL として貼られているこちらの記事(英語)が参考になりそう。

Importing Large CSV Files via Batch Apex

ここからさらに別の英語記事が紹介されていて、パーサのサンプルコードがダウンロードできる。

From Belvidere's 4th Floor: IETF RFC 4180-compliant CSV Reader for Salesforce

CSV の仕様って RFC4180 で定義されてるのね。