質問 > 管理機能 > 商品マスタCSV出力時の[ " ] [ \ ]について |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
seasoft |
投稿日時: 2009/3/24 15:56
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について とりあえず RFC4180 に準拠してみました。
http://svn.ec-cube.net/open_trac/changeset/17799
|
seasoft |
投稿日時: 2009/2/12 16:26
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について OOo 何気に小回り効きますね。同様の機能が Excel にもあったような・・・と、試したのですが、Access と勘違いしていたようで、駄目でした。
私自身は、秀丸エディタやCSV専用エディタで編集することが多いのですが、エンドユーザを考えると Excel で編集できるのが理想だなぁ。 こうなったら、SYLK にも対応させようかな・・・ 世の流れ的には XML (.xlsx) の方が良いのか。でも、PHP4 まで対応させるのは大変だなぁ… PHP5環境だけ、両対応にすれば良いのか! ・・・など、まぁ色々と考えていますが、とりあえずは現状よりも一歩進んだ CSV で妥協しとこ。
|
yuta |
投稿日時: 2009/2/12 14:39
対応状況: −−−
|
常連 登録日: 2009/1/15 居住地: 投稿: 54 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について seasoft様
失礼しました。 ダウンロードしたデータの話ですね。 ダウンロードして普通にデータ開くと先頭の”0”は消えてしまいますが、データを開くときに列を選択して、 ”列の種類” ⇒ ”テキスト” を指定すると0を表示したままデータを開けます。 Excellではこちらのホームページを参考にしましたが、 なぜかうまく開けませんでした。。 http://www.eccube-school.jp/products/detail54.html 余談ですが、楽天のデータを編集するときもEXcellではエラーが多かった(単に自分の知識がないためだと思いますが)ので、CSVを扱うときはOpenofficeにしています。 |
seasoft |
投稿日時: 2009/2/12 12:11
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について 引用:
詳細は失念してしまいましたが, かなりイケてない関数なので準拠してないと思われますorz 現状で利用している fgetcsv() も、バグありますね。 「\""」自体は意図したとおり「\"」として解釈されるのですが、なぜか末尾に「"」が付きますね。 (例) あ\""あ → あ\"あ" PHP は(も?)、バグレポートの対応に時間掛かるしなぁ・・・
|
seasoft |
投稿日時: 2009/2/12 11:58
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について 情報ありがとうございます。
OOo だと、後からの書式変更で対応できるんですね。 Excel は、読み込み時に変換されてしまって、前ゼロが失われているんですよね・・・ 一応、RFC に極力準拠した共通処理を実装し、商品マスタとカテゴリは書き換えました。もう少しテストを重ねて、EC-CUBEコミュニティ(eccube-comu)へコミットをしようかと考えています。
|
yuta |
投稿日時: 2009/2/12 11:39
対応状況: −−−
|
常連 登録日: 2009/1/15 居住地: 投稿: 54 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について seasoftさま
確認してみました。 確かに指定と違う部分のステータスが反応していました。 保存するときに 00101 が 101 になっていたようでした。 OpenOfficeでは 「書式設定」⇒「数」⇒「テキスト」 として保存したら 00101 のまま登録できて解決しました。 |
seasoft |
投稿日時: 2009/2/11 12:31
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について > yuta 様
OpenOffice では商品ステータスが乱れるという問題は発生していませんか? 当方で Excel にて試験した結果、下記の条件の場合に乱れが発生しました。 ・1番目の商品ステータスが OFF(0) ・2番目以降の商品ステータスが ON(1) (Ex) 00101 → 101 ( = 10100 ) CVS登録のロジックを右詰にすれば回避可能だとは思うのですが、それも微妙な気もするし、少々悩ましいです。
|
yuta |
投稿日時: 2009/2/11 10:15
対応状況: −−−
|
常連 登録日: 2009/1/15 居住地: 投稿: 54 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について nanasess様、seasoft様
調査ありがとうございます。 私はといいますと、先日教えていただいた \data\class\helper\SC_Helper_CSV.php 内の $tmp = str_replace("\"", "\\\"", $tmp); を $tmp = str_replace("\"", "\"\"", $tmp); に修正してからは、CSVでデータ更新をかなり頻繁に行っていますが、おっしゃるとおり全く問題なく使用できています。 引用:
|
seasoft |
投稿日時: 2009/2/10 20:41
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について いやぁ〜 驚いた。
読み込みは fgetcsv() を使っていますね。 ということで、 引用: ただし、その CSV は OO-calc 向けのファイルになりますので、EC-CUBE に読み込ませると異常動作をすると思いますのでご承知を。 もはや、現状の CSV 書き出しがバグに思えてきました。
|
nanasess |
投稿日時: 2009/2/10 15:35
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: 商品マスタCSV出力時の[ " ] [ \ ]について 引用:
SC_Utils は, どの機能からでも static で呼び出せるような, 汎用性のある関数を置いています. 極端に言えば, EC-CUBE 以外のシステムへ移植しても動くと思います. SC_Helper_CSV は, CSV を扱う機能固有の関数を外出しにしています. SC_Utils の CSV 関連の関数は, 他の箇所からアクセスしていなければ, すべて SC_Helper_CSV が保持するように変更した方がすっきりしそうですね. |
(1) 2 3 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |