カテゴリー
コンピューター

CakePHP2 で ACL のテーブルにも配慮して コントローラーから大量データを直接 DB に挿入する方法

テストデータを一括で大量に登録するとき、どうされますか?はい、そのとおりです。データベースに INSERT 文で直接データを投入しますね。

ですが、CakePHP2 で ACL を使っていると、それができない!というテーブルがあることがわかります。はい、そのとおりです。users テーブルですね。

ACL のテーブル、aros と users テーブルが密接にかかわっているため、INSERT で users へのみデータを挿入することができないのです。詳しくは次のページです。

となりますと、ウェブの画面から一つ一つ登録するしかないのか、、、と思いますが、100や200のときはとてもではありませんが、無理です。

そこで、コントローラーに大量にデータを書いて登録する方法を考えました。次のようになります。

カテゴリー
コンピューター

MySQL から Excel で使える CSV を作成します!できるだけ簡単に♪

MySQL には CSV 出力する機能が備わっていることに、初めて気がつきました。

喜び勇んで試してみたものの、Excel ではどうにもうまく読み込めません。特に、セル内で改行があると、次の行という扱いになってしまうのですよね。。。

そこで、何とかしてみたメモを残しておきます。

ポイント

  • 今時なので MySQL は UTF-8 です。Excel で読むために Shift-JIS に変更する必要があります。
  • セル内での改行は LF、行末の改行は CRLF にする必要があります。
  • セルを「”」で囲む場合があるため、「”」をエスケープする必要があります。

やってみた

カテゴリー
Microsoft

エクセルの表から HTML の table を作るのに、エクセルだけあれば問題なかった!ウェブサービスなんていらんかったんや!

Microsoft Excel - ab結果.xls 20120606 200204.jpg

エクセル表のセルとセルの間に tr と td を入れればいいだけの話なので、CSS を気にしなければエクセルだけで簡単に HTML 用の table が作成可能ですね。手順と、参考になったページをまとめます。

まとめ

  1. 表のセル間に空白列を挿入して、そこに <tr><td>、</td><td>、</td></tr>、を適宜入れる。
  2. 全部コピーしてエディタに貼り付け、タブ文字(正規表現では「\t」)を削除するように置換する。
  3. <table>、</table>で最初と最後を囲って、完成!
カテゴリー
コンピューター

コピペでエクセルの表から HTML の table を作るウェブサービス

次のすばらしいウェブツールを見つけました。

使っていて、次の2点がポイントだと思いました。

  • セルの結合もきちんと変換してくれます。ただし「空白セルを出力しない」へのチェックが必要。
  • セルを結合させたくない場合は、意図的に空白セルにダミーの文字列「-」などを入れておいたほうがよいかも。

これで作成したのが次の表になります。

カテゴリー
Microsoft

Excel とサクラエディタで日付の一覧テキストをダーっと一気に作る方法

日付の一覧をダーっと一気に作る方法をメモしておきます。

いる物

覚えておくとよい操作まとめ

Excel

  • Ctrl + ; で今日の日付を入力
  • セルの右下にカーソルを合わせて「+」になったらドラッグして下に引っ張り、連続データを作成

サクラエディタ