C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: csv


(過去ログ 134 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■79224 / inTopicNo.1)  csv
  
□投稿者/ lapis lazuli (1回)-(2016/03/17(Thu) 13:47:33)

分類:[VB.NET/VB2005 以降] 

csvについての質問です
一行ずつ書いていく方法がわかりません...。
どうすればいいのでしょうか? 


  Dim FileName As String = "予定.csv"
         Dim Writer As IO.StreamWriter
         Dim Encode As System.Text.Encoding

 If PictureBox10.ImageLocation = ListBox1.Items(a1) Then
             Encode = System.Text.Encoding.GetEncoding("Shift-JIS")
             Writer = New IO.StreamWriter(FileName, False, Encode)
             Writer.WriteLine(ListBox1.Items(a1))
             Writer.Close()
         End If
このようになっていますが改行ができません。
 最終的には変数を作り、その変数を足した行に保存したい予定です。



引用返信 編集キー/
■79226 / inTopicNo.2)  Re[1]: csv
□投稿者/ shu (841回)-(2016/03/17(Thu) 14:28:25)
No79224 (lapis lazuli さん) に返信

提示されたコードだとPictureBox10のImageLocationのファイル名が
ListBox1のa1番目のアイテムと一致していたらファイル名を
書き込むという処理にしか見えないのですが、これだと1行しか
書かれなくて当然です。

どのような事をしたいのか詳しく書くか全体が分かる程度のコードを書かれた方がよいかと思います。
引用返信 編集キー/
■79227 / inTopicNo.3)  Re[1]: csv
□投稿者/ WebSurfer (867回)-(2016/03/17(Thu) 14:30:44)
No79224 (lapis lazuli さん) に返信

vb.net csv などをキーワードにググると参考になる記事が多々ヒット
すると思いますがやってみましたか? 例えば下記:

DataTableや配列等をCSV形式のファイルとして保存する
http://dobon.net/vb/dotnet/file/writecsvfile.html

もしまだならやってみましょう。その上で分からないところを質問して
いただいたほうが話が通じやすいと思います。

次に書き込む時には自分の環境(OS, .NET, Visual Studio のバージョン
など)を書いてください。
引用返信 編集キー/
■79228 / inTopicNo.4)  Re[2]: csv
□投稿者/ lapis lazuli (3回)-(2016/03/17(Thu) 15:08:02)
詳しく提示できなくてすみません
あれから少し変更して

Dim csvPath As String = "予定.csv" '保存先のCSVファイルのパス
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS")
Dim sr As New System.IO.StreamWriter(csvPath, True, enc) '開く

If PictureBox10.ImageLocation = ListBox1.Items(a1) Then
sr.Write(ListBox1.Items(a1))
sr.WriteLine()
End If
に変更しました。
しかし、これだと上から順番に保存されてしまいます。
自分がやりたいのは変数を作り、IF文などで変数を変換して、その変数の数の行の場所に保存したいのです。
例えば、変数aが50の時は50行目に保存ということです。
引用返信 編集キー/
■79229 / inTopicNo.5)  Re[3]: csv
□投稿者/ shu (842回)-(2016/03/17(Thu) 15:26:14)
No79228 (lapis lazuli さん) に返信
> しかし、これだと上から順番に保存されてしまいます。
提示されているコードだと順番も何も1回しか書込みがないので
1行分書いて終了となります。しかもappendで開いているので
ファイル末尾に足されるだけです。



> 自分がやりたいのは変数を作り、IF文などで変数を変換して、その変数の数の行の場所に保存したいのです。
> 例えば、変数aが50の時は50行目に保存ということです。
これを行うには行数分のスペースがファイルに確保されている必要があり
行の開始位置が固定になっていないと出来ません。
可変である場合はメモリ上で処理をしファイル全体を書き換える必要があります。
引用返信 編集キー/
■79231 / inTopicNo.6)  Re[4]: csv
□投稿者/ lapis lazuli (4回)-(2016/03/17(Thu) 15:51:23)
No79229 (shu さん) に返信
> 可変である場合はメモリ上で処理をしファイル全体を書き換える必要があります。
それはどのようにすればいいのでしょうか?
引用返信 編集キー/
■79239 / inTopicNo.7)  Re[5]: csv
□投稿者/ daive (82回)-(2016/03/17(Thu) 22:30:04)
○ポ、情報共有
csv
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=27033
引用返信 編集キー/
■79242 / inTopicNo.8)  Re[5]: csv
□投稿者/ shu (845回)-(2016/03/18(Fri) 07:58:29)
No79231 (lapis lazuli さん) に返信
> ■No79229 (shu さん) に返信
>>可変である場合はメモリ上で処理をしファイル全体を書き換える必要があります。
> それはどのようにすればいいのでしょうか?

No79227 にて WebSurfer さんが回答しているリンク先をまず読んで
試してみるとよいと思います。まるなげしないでサンプルにて理解するとこから
始めてみてはどうでしょう?

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -