前提・実現したいこと
StreamWriter、ボタン、テキストボックスを使い、ボタンが押される度にテキストボックス内の値とその他のデータ合計4つをCSVに列方向に出力したいです。
例
AAAA
BBBB
CCCC
DDDD
発生している問題・エラーメッセージ
列方向の出力はできるものの以下の例のような出力しかできません。ボタン押して列方向にデータを追加していくという上の例のようなことができません。どのようなロジックで出力することになるのでしょうか?
例
ABCD
ABCD
ABCD
ABCD
該当のソースコード
C#
1using (StreamWriter sw = new StreamWriter(@filename, true, Encoding.UTF8)) 2 { 3 sw.WriteLine(j); 4 sw.WriteLine(diameter); 5 sw.WriteLine(height); 6 sw.WriteLine(person); 7 }
試したこと
以下のような列方向の出力はできました。
ABCD
using (StreamWriter sw = new StreamWriter(@filename, true, Encoding.UTF8)) { sw.WriteLine(j+","+diameter + ","+height + ","+person); }
補足情報(FW/ツールのバージョンなど)
.NET Framework 4.7.2
Microsoft Visual Studio Solution File, Format Version 12.00
Visual Studio Version 16
追加情報
上記で記した例についてですがエクセルで閲覧する際の並びとなっております。
テキストファイルがどういう物か知っていますか?
質問者さんの言う CSV とは何ですか?
CSV = Comma-Separated Values なのですが、質問の「例」にはカンマはどこにも見当たらないのですが?
申し訳ありません。エクセルで閲覧をする際の話ということ記載しておりませんでした。
いや、エクセルで閲覧しようが、テキストエディタで閲覧しようが、CSV は CSV です。
CSV はテキストファイルです。
重ねて聞きますが、テキストファイルがどういう物か知っていますか?
話が通じてません。少なくとも他人と話が通じる程度の知識が持てるレベルまでは勉強しないと・・・
ウェブ系の開発はしたことがあるのか。
ブラウザで閲覧しようが、vscode で閲覧しようが、HTML は同じものだろ?
HTML も CSV もどっちもテキストファイル。
文字列がカンマや改行コードで区切られてるだけだから、列方向への追加がどうとかいう話にはならないんだよ。
「列方向に出力したい」と書いていたところに「列方向に出力はできるものの以下の例...」とあり、更に「以下のような列方向の出力はできた」と続き、例示と突き合せても正直、何回読んでも分かりません。A, B, C, Dと書いているのは、スプレッドシートのA列、B列...ということなのでしょうか。(だとしても分かりません)
CSV形式とは既に先にご指摘をいただいているように、一般的に1行のデータに"1列目,2列目,3列目,...最後の列のデータ、で末尾に改行"のようなものを指します。1行のテキストデータを出力するときに、列方向、言うなれば横方向に1項目ずつデータを増やしていきたい、という意味なのでしょうか。
@ 質問者さん
とりあえず、「入力値」と「出力結果」(ファイル内) のそれぞれを書いた方がいいですよ。
たとえば、「textbox1には"A", textbox2には"B"が入力された場合、"A,B" とファイルに記述する。その直後にtextbox1に"2", textbox2に"1"と入力されたら"A,B", "2,1"が記述される」とかみたいに。
それを矢印(文字の)とかで表現するとか。
少なくとも今の質問内容ではよく意味がわかりません。
そもそもCSVとはなんでしょうか。(なんとなく別の意味で使っていそうな雰囲気)
「どこがわからない」のでしょうか。
回答者は質問者と同じ環境にある…わけではないので、書かないとわかりませんよ。
回答1件
あなたの回答
tips
プレビュー