回答します。
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);
}