バージョン選択

フォーラム

メニュー

オンライン状況

69 人のユーザが現在オンラインです。 (57 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 69
もっと...

サイト内検索

質問 > 管理機能 > 商品マスタCSV出力時の[ " ] [ \ ]について

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
seasoft
投稿日時: 2009/3/24 15:56
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 商品マスタCSV出力時の[ " ] [ \ ]について
とりあえず RFC4180 に準拠してみました。
http://svn.ec-cube.net/open_trac/changeset/17799


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

seasoft
投稿日時: 2009/2/12 16:26
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 商品マスタCSV出力時の[ " ] [ \ ]について
OOo 何気に小回り効きますね。同様の機能が Excel にもあったような・・・と、試したのですが、Access と勘違いしていたようで、駄目でした。

私自身は、秀丸エディタやCSV専用エディタで編集することが多いのですが、エンドユーザを考えると Excel で編集できるのが理想だなぁ。

こうなったら、SYLK にも対応させようかな・・・
世の流れ的には XML (.xlsx) の方が良いのか。でも、PHP4 まで対応させるのは大変だなぁ… PHP5環境だけ、両対応にすれば良いのか!
・・・など、まぁ色々と考えていますが、とりあえずは現状よりも一歩進んだ CSV で妥協しとこ。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

seasoft
投稿日時: 2009/2/12 11:58
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 商品マスタCSV出力時の[ " ] [ \ ]について
情報ありがとうございます。

OOo だと、後からの書式変更で対応できるんですね。
Excel は、読み込み時に変換されてしまって、前ゼロが失われているんですよね・・・


一応、RFC に極力準拠した共通処理を実装し、商品マスタとカテゴリは書き換えました。もう少しテストを重ねて、EC-CUBEコミュニティ(eccube-comu)へコミットをしようかと考えています。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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登録のロジックを右詰にすれば回避可能だとは思うのですが、それも微妙な気もするし、少々悩ましいです。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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さんは書きました:
いやぁ〜 驚いた。

読み込みは fgetcsv() を使っていますね。

ということで、
引用:
ただし、その CSV は OO-calc 向けのファイルになりますので、EC-CUBE に読み込ませると異常動作をすると思いますのでご承知を。
なんて心配ないようです。

もはや、現状の CSV 書き出しがバグに思えてきました。
seasoft
投稿日時: 2009/2/10 20:41
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 商品マスタCSV出力時の[ " ] [ \ ]について
いやぁ〜 驚いた。

読み込みは fgetcsv() を使っていますね。

ということで、
引用:
ただし、その CSV は OO-calc 向けのファイルになりますので、EC-CUBE に読み込ませると異常動作をすると思いますのでご承知を。
なんて心配ないようです。

もはや、現状の CSV 書き出しがバグに思えてきました。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

nanasess
投稿日時: 2009/2/10 15:35
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: 商品マスタCSV出力時の[ " ] [ \ ]について
引用:

seasoftさんは書きました:
あと、気になったのは SC_Utils に、CSV 関係のメソッドが存在していることですが、SC_Helper_CSV との住み分けとかあるのですかね?


SC_Utils は, どの機能からでも static で呼び出せるような, 汎用性のある関数を置いています.
極端に言えば, EC-CUBE 以外のシステムへ移植しても動くと思います.

SC_Helper_CSV は, CSV を扱う機能固有の関数を外出しにしています.

SC_Utils の CSV 関連の関数は, 他の箇所からアクセスしていなければ, すべて SC_Helper_CSV が保持するように変更した方がすっきりしそうですね.
(1) 2 3 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,899名です
総投稿数は110,002件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.