回答受付が終了しました

C#の質問です。 このようなlistviewのデータをCSVで保存するにはどのようなコードを書いたら良いですか?

画像

回答(1件)

ID非表示

2020/7/4 15:02

回答します。 ListViewItemが複数個存在する場合のCSV出力方法のサンプルを作成しましたので、参考にしてみてください。 ■名前空間 using System.IO; using System.Text; ■CSV出力処理 //実行ファイルと同じ場所に出力 string csv_path = Application.StartupPath + @"\export.csv"; try { //CSVファイルを開く(書き込み) using (FileStream fs = new FileStream(csv_path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read)) { //Shift_JISでCSVファイルを生成 using (StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding(932))) { //======================================== // ヘッダーの出力 // ※不要であれば削除してください。 //======================================== for (int i = 0; i < this.listView1.Columns.Count; i++) { if (i > 0) sw.Write(","); sw.Write("\"" + this.listView1.Columns[i].Text + "\""); } sw.Write("\r\n"); //======================================== // データの出力 //======================================== //ListViewItem数分繰り返す foreach (ListViewItem lvi in this.listView1.Items) { //SubItems数分繰り返す for (int i = 0; i < lvi.SubItems.Count; i++) { //2項目目以降はカンマを付加 if (i > 0) sw.Write(","); //データをダブルクォーテーションで囲んで出力 sw.Write("\"" + lvi.SubItems[i].Text + "\""); } //改行を出力 sw.Write("\r\n"); } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "異常", MessageBoxButtons.OK, MessageBoxIcon.Error); }

NEW! この回答はいかがでしたか? リアクションしてみよう