問題タブ [fputcsv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1091 参照

php - PHPでCSV生成ファイルに改行を強制する

PHPでCSVダウンロード可能なファイルを生成しています。MSExcellまたはUbuntuLibreOfficeでファイルを開くと、ギ酸塩が期待どおりにならないという問題があります。

この出力が必要ですが、強制的に改行から開始することはできません。

これは私のPHPコードです

しかし、このコードは次のように出力されます。

0 投票する
2 に答える
4558 参照

php - ダウンロードファイルとして CSV PHP にエクスポート

CSV ファイルを使用して mysql テーブルをエクスポートしています。C:通知なしでドライブに直接保存されているので、ダウンロード ファイルとして表示するにはどうすればよいですか

0 投票する
2 に答える
3159 参照

php - PHP - MySQL クエリを CSV にエクスポート

CSV にエクスポートする適切な方法に関する多くの投稿を目にしますが、ほとんどの開発者は使用することを推奨しています。fputcsv()

以下のスクリプトをどのように変換して使用しますfputcsvか? テーブルの列名を反映するヘッダー行もエクスポートしていることがわかります。これを保持したいと思います。

非推奨であることは承知しているmysql_queryので、これは練習用です。

補足として、私は に慣れていませんfputcsvが、csv 出力のデータをフォーマットするのに便利で、すべてのエスケープなどで時間を節約できることを読んでいます。(私はまた、上記の改善に対して非常にオープンです)

0 投票する
1 に答える
3875 参照

php - PHP: fputcsv を使用して csv ファイルの先頭に新しく 1 行を追加するにはどうすればよいですか?

csvファイルの出力にデータベースからのデータが入力されているため、csvファイルの先頭に新しい行を1つ追加する方法が必要です。データのすべてのタイプに対応する列名を追加したいのです。

これが今の私のコードです:

これが私のcsvデータです

画像

0 投票する
1 に答える
323 参照

php - csvファイルに書き込む

getHistory は Yahoo ファイナンス API から CSV ファイルをダウンロードします。CSV ファイルを取得して、ファイルの各エントリの前に記号を挿入しようとしています。それが完了したら、CSV ファイルを $symbol.csv に書き戻したいと思います。私のデータは私が望む方法です.CSVファイルに書き込めないようです. 私は何を間違っていますか?または、これについてもっと良い方法はありますか?

0 投票する
2 に答える
7979 参照

php - PHPでCSVを作成する

サイトのベンダー サイトにエクスポートする動的 csv ファイルを作成しようとしています。彼らは、すべての値を二重引用符で囲みたいと考えています。行を作成して fputcsv() にフィードしようとしていますが、notepad2 で表示すると大量の二重引用符が表示され、Excel で表示すると 1 つのエントリとして表示されます。ここに私の価値があります:

テキスト エディタを使用すると、次のようになります。 "",""ベイビー"",""ジャックとホセは、野良犬として避難所に連れてこられた 7 ポンドのかわいいチワワとポメラニアンのミックス犬に生まれました。 、子犬はおそらく小さいままです.ジャックまたはホセのオンライン養子縁組アプリケーションについては、www.dogswithoutborders.orgのウェブサイトにアクセスして、養子縁組フェアの詳細を確認してください. ","""",""0"","""","""","""","""","""","""","1"","" http://photos.petfinder.com/photos/US/CA/CA1087/20460152/CA1087. 20460152-1-x.jpg "","""","""""

手動で追加した "(s) を削除すると、最初と最後に 1 つしか表示されません。何かアイデアはありますか?

0 投票する
1 に答える
273 参照

php - fputcsvを使用してCSVの単一フィールドとしてhtmlcodeスニペットを含むphp

fputcsv()を使用して配列の配列からcsvを生成しています。フィールドの1つにhtmlコードスニペットが含まれており、Excelで開くと問題が発生します。

Excelで開くと、複数のセルにまたがって壊れます。

fputcsvでは,、区切り文字および"囲み要素として使用していることに注意してください。

それでも、html文字列が複数のセルにまたがって分割されていることがわかりました。これは、htmlcontent内のコンマが原因で発生していました。

では、どうすれば内在するコンマを正確にエスケープできますか?

とりあえず、コンマを空白に置き換えました。しかし、それでも、MS Excelで開くと、長いhtmlcode(約53823文字)が複数のセルにまたがって表示されます。Excelの1つのセルに含めることができる文字数に上限はありますか?

Notepad ++でcsvを開くと、CSVが途切れることなく適切に形成されていることが示されていることに注意してください。ただし、私のクライアントはMS Excelを使用しており、CSVが実際に整形式であることを彼に納得させるのは難しいです。助けてください。

これが私が使用しているコードです:

$templateおよびは、$cacheフィールド値としてhtmlコードスニペットを持っています。

また、私が気付いたのは、エスケープしない,と、文字列が複数のセルにまたがるということです。このために私は試みましstr_replace(",","\,",$string)たが、役に立たなかった。

更新:問題は、引用符とコンマの両方が文字列内で発生する場合に発生します。たとえば、文字列を検討してくださいI have "big" quesiton, that I want to know.

"I have "big" quesiton""that I want to know."文字列全体が1つの列に表示されるのではなく、1つのセルに表示され、別のセルに表示されます。

0 投票する
1 に答える
4191 参照

php - PHP, fputcsv, 各配列を行ではなく列として書きたい

簡単な例:

次を実行すると:

次のようなファイルを取得します。

私が期待するように。しかし、私が欲しいのは:

これは、各配列から各インデックスをループして書き込むだけで可能ですか?

0 投票する
2 に答える
2363 参照

php - Excel 2007 と 2010 での CSV ファイルへの PHP エクスポートの動作の違い

PHP の fputcsv 関数を使用して配列を CSV ファイルにエクスポートしようとしています。ただし、Excel 2007 と 2010 でファイルを開くと、まったく異なる 2 つの動作が発生します。

Excel 2007 では、すべてのフィールドが次のように個別の列にあるため、必要なものが得られます。

ああ | bbb | ccc | dddd

123 | 456 | 789

"ああ" | "bbb" |

しかし、Excel 2010 では、次のようにすべてのフィールドが同じ列にあります。

aaa,bbb,ccc,dddd
123,456,789
"aaa","""bbb"""

Excel 2007 と 2010 の両方で Excel 2007 の動作を取得するにはどうすればよいですか?

次のスクリプトを使用しました。

header("Content-Type: application/vnd.ms-excel;"); を使用してみました または header('Content-Type: text/csv'); しかし、私は同じ動作をします。:S

前もって感謝します。

編集: PHPExcel を使用することになりました。すてきな図書館です!!

0 投票する
1 に答える
11522 参照

php - PHP の fputcsv はファイルに書き込みません

私は検索して検索し、大規模なデバッグを行ってきましたが、私の人生では、fputcsvが機能しない理由を理解できません。

.csv ファイルを正常に開いて書き込むことができます。

私のデバッグは、配列が適切にロードされ、foreach ループが正しく機能していることを証明しています。ただし、fputcsv 関数は何も書き込めません。URL などの問題を引き起こす可能性のあるすべての文字列を削除しましたが、それでも書き込みません。

この環境にアクセスできるのは私だけなので、ファイル ロックの競合ではないことはわかっています。ファイルを作成して書き込むことができるので、権限の問題ではないことがわかります。また、foreach ループからデバッグ出力が得られるので、配列やループの問題ではないことがわかります。

以下にコードとデバッグログを提供します...

そして、これが結果のデバッグログです...

.csv ファイルに表示されるのは (上記のデバッグ コードでわかるように) 「このファイルは開いていて、機能しています」ということだけです。

どなたでもご意見いただければ幸いです。

本当にありがとう!!!

旅行