IT仕事

VBA-JSONはダメだったがPowerQueryはよかった

投稿日:

オンラインショップの在庫管理目的で、業務システムを動かしているAccessかExcelで、何とかしてWebの商品マスターAPIのデータを取ってきたい。

最初、VBA-JSONというのを使えばいいのかなと思って、一日触ってみた。
いいとこまではいくのだが、名前と階層をいちいち書いていかなくては行けなくて、結構それが面倒で小難しくて、すぐに嫌になった。

次に試してみたのは、Excel2013のアドインのPowerQuery。
結論を先にいうと、うまくいった。
プログラムレスで、JSONをExcelのシート上にテーブル表示できる。
作ったシートはAccessでリンクできた。
試していないけど、Accessのクエリで加工もできそうだ。

途中にぶち当たった問題:

itemなどと表示されていてリンクのついている文字をクリックすることでその階層の表示ができるのだが、欲しい項目を見つけるのに結構苦労するところが一つ。
まあこれは、http://json.parser.online.frのような、JSONをパースして視覚的に表示してくれるツールでもって、あらかじめ自分の欲しい項目がどれなのか、リストアップしておけば問題ないであろう。

CS-CARTのWebAPIは、サーバ環境によってURL文字列が変わる。
「mod_rewritが無効になっている場合は・・・」とマニュアルにあって、自分の環境はまさにそれだと気が付くのに大分時間がかかった。

CS-CARTの商品リストをWebAPIから取ってきたいのが本命だったのだが、何度やっても最大50件までしか取ってきてくれない。
原因はCS-CART側にあることは、少し調べてみてわかったのだが、対応策が見えない。
ユーザーが少ないせいか、WEBに情報が少ない。
試行錯誤して、URLの最後に「limit=100」のように文字を入れてみたら、100件とれた! マニュアルには書いてなかったけど、それでもうまくいくときにはいくものだ。
50件までしか取れなかったURL:https://www.hogehoge.com/api.php?_d=products
100件取れたURL:https://www.hogehoge.com/api.php?_d=products&limit=100

-IT仕事

執筆者:

関連記事

ThemlerでResponsive表示で画像の縦横比が狂う

Themlerを試用している。 操作レスポンスは遅いけれど、ビジュアルにWebが作れるので、感動している。 試しに当ブログのテーマをThemlerで作って適用してみた。 だいたいOKなのだが、ブラウザ …

no image

・・・

山を登り終えたら、海に潜って、空を飛べ・・・みたいな仕事(もちろん比喩)が連日続いていて、クタクタ。 この他に、メール読んだり書いたり、スケジュール確認やら優先順位の組み直しやら、社内の指示やら伝達や …

no image

経営者研修会講師仕事

銀行さん、思考スピードが速い。 考えに淀みが無い。 理解力も分析力も的確で合理的。 テキストを熟読して臨んだ、しかも2年以上経験のある自分が、議論中に引き離されそうになった・・・それでもしかし、なんと …

no image

Excelでひとつのセルに入力された文字を適当な長さで2つのセルに分割

ひとつのセルに入力された文字を、適当な長さで分割して2つのセルに分ける処理が、思いの外苦労したので、メモ。 セル内容が、半角のみか全角のみで統一されていればもっと簡単なのだが、住所のようなケースで両者 …

Excel2013 セル入力直後から確定までが遅い

オプション-詳細設定-表示の、「ハードウェア グラフィック アクセラレータを無効にする」のチェックで、すごく改善した。 自分の周りで相当悩んでいる人がいたので、一緒に調べた結果、わかった。 他にも悩ん …