※ ChatGPTを利用し、要約された質問です(原文:C# プログラム)
C#プログラムでDataGridViewのデータをCSVに保存する方法
このQ&Aのポイント
C#プログラムでDataGridViewのデータをCSVに保存する方法について教えてください。
データグリッドビューにあるデータすべてをCSVに保存するには、配列などにデータを格納する必要があります。
SaveFileDialogを使用してファイルの保存先を指定し、StreamWriterを使用してCSVファイルにデータを書き込めます。
今,下記のようなプログラムを組んでdatagridviewのデータをcsvに保存するようにしようとしているのですが,1つのデータであれば保存が出来たのですが,今行いたいのはdatagridviewにあるデータすべてをcsvに保存したいのです.おそらく配列か何かに入れないといけないんだとは思うのですが,
どなたかご教授頂けないでしょうか?
private void button2_Click(object sender, EventArgs e)
{
//データテーブル設定
int R, C;
R = dataGridView1.RowCount - 1;
C = dataGridView1.ColumnCount - 1;
string wdata = string.Empty;
string tmpdata = string.Empty;
//string Ter =Convert.ToString(R);
//string Tec = Convert.ToString(C);
//textBox1.Text = Ter;
//textBox2.Text = Tec;
//SaveFileDialogクラスのインスタンスを作成
//SaveFileDialog sfd = new SaveFileDialog();
//ダイアログを表示する
//if (sfd.ShowDialog() == DialogResult.OK)
//c = dataGridView1[Rdata, Gdata].Value.ToString();
// 以下を変更
string c = Convert.ToString(dataGridView1.Rows[0].Cells[0].Value);
// 以下ファイル書き込みと保存
string strName = "xxx.csv"; // 仮のファイル名
string strPath = "c:/csv/"; // 仮のディレクトリ名
SaveFileDialog sfd = new SaveFileDialog();
sfd.InitialDirectory = strPath;
sfd.FileName = strName;
sfd.Filter = "CSVファイル(*.csv)|*.csv";
sfd.Title = "保存先を指定してください";
sfd.RestoreDirectory = true;
sfd.CheckFileExists = false;
if (sfd.ShowDialog() == DialogResult.OK)
{
// ファイルを指定してインスタンス作成
System.IO.StreamWriter sw = new System.IO.StreamWriter(sfd.FileName);
try
{
// ファイル書き込み
sw.Write(c);
}
catch
{
// エラー処理(これだとダメだけどとりあえず)
MessageBox.Show("ファイル書き込みエラー", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
// 解放
sw.Dispose();
sfd.Dispose();
}
}
お礼
shincha119さん ありがとうございました. おかげさまで,思い通りに処理が出来ました. 本当にありがとうございました.