質問 > その他 > 受注一覧の項目の改行をなくして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になれば自分の環境だとおけだったのですが。。。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |