バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > 受注一覧の項目の改行をなくしてCSV出力したい

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mork
投稿日時: 2021/7/26 18:10
対応状況: −−−
新米
登録日: 2021/1/5
居住地:
投稿: 7
受注一覧の項目の改行をなくしてCSV出力したい
▼テンプレート
[EC-CUBE] 4.0.3
[レンタルサーバ] さくらレンタルサーバ
[OS] FreeBSD
[PHP] 7.4.10
[データベース] MySQL 5.7.32
[WEBサーバ] Apache
[ブラウザ] mac,chrome

[現象]
受注一覧からCSVダウンロードをしたいのですが、注文者の項目の中にテキストボックスの項目があり、CSVのセルの中に改行が入ってしまい、CSVが崩れてしまいます。

テキストボックスの項目だけ改行を消してCSV出力できないでしょうか?
解決方法ご存知の方どなたかご教授お願いいたします。
kiraD
投稿日時: 2021/7/28 12:54
対応状況: −−−
半人前
登録日: 2021/7/28
居住地:
投稿: 16
Re: 受注一覧の項目の改行をなくしてCSV出力したい
CsvExportService.phpに

const EXCLUDE_BR_CSV_COLUMNS= [
"改行を除きたいカラム名1",
"改行を除きたいカラム名2"
];

のように改行を除いて出力したいカラムのリストを定義して、getDataメソッド内で定義したカラムのリストに一致するカラムだった場合は、改行を除く処理を書いてデータを返すのはどうでしょうか??
kiraD
投稿日時: 2021/7/28 12:57
対応状況: −−−
半人前
登録日: 2021/7/28
居住地:
投稿: 16
Re: 受注一覧の項目の改行をなくしてCSV出力したい
CsvExportService.phpのgetDataメソッド内に下記の様な処理を追加すれば改行を除いてデータを返せるかと思います。

if (in_array($Csv->getFieldName(),self:: EXCLUDE_BR_CSV_COLUMNS)) {
// 改行を除く
return str_replace(PHP_EOL, ", $data);
}
erukun
投稿日時: 2021/8/8 7:13
対応状況: −−−
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 118
Re: 受注一覧の項目の改行をなくしてCSV出力したい
これ。どこに差し込んでもエラーになりました。処理以降のコードが機能しなくなりました。
erukun
投稿日時: 2022/2/9 10:16
対応状況: 解決済
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 118
Re: 受注一覧の項目の改行をなくしてCSV出力したい
こんな感じで良いですか?
環境がWindowsなのでCR+LFになれば自分の環境だとおけだったのですが。。。



CsvExportService.php

//一番下に追加
class CrlfFilter {
    // 正規表現
    static public $pattern = array("\r\n", "\r", "\n");
    // 改行を除きたいカラム名
    static public $EXCLUDE_BR_CSV_COLUMNS = ["note","message"];
}


//getDataメソッド内
if (in_array($Csv->getFieldName(),CrlfFilter::$EXCLUDE_BR_CSV_COLUMNS)) {
            // 改行を除く
            return str_replace(CrlfFilter::$pattern, '', $data);
}
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は87,705名です
総投稿数は109,436件です

投稿数ランキング

1
seasoft
7364
2
468
3217
3
AMUAMU
2712
4
nanasess
2302
5
umebius
2085
6
yuh
1807
7
h_tanaka
1597
8
red
1567
9
mcontact
1196
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.