C# DataGridView의 데이터를 로 내보냅니다.CSV 파일

2392 단어 c#
말을 많이 하지 않고 바로 코드에 올렸다
public void DataGridViewToExcel(DataGridView dgv)
{
    SaveFileDialog dlg = new SaveFileDialog();
    dlg.Filter = "Execl files (*.csv)|*.csv";
    dlg.FilterIndex = 0;
    dlg.RestoreDirectory = true;
    dlg.CreatePrompt = true;
    dlg.Title = "   csv  ";
    if (dlg.ShowDialog() == DialogResult.OK)
     {
         Stream myStream;
         myStream = dlg.OpenFile();
         StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
         string columnTitle = "";
         try
         {
             //         
             for (int i = 0; i < dgv.ColumnCount; i++)
             {
                if (i > 0)
                {
                    columnTitle += ",";
                }
                columnTitle += dgv.Columns[i].HeaderText;
             }

             sw.WriteLine(columnTitle);

             //         
             for (int j = 0; j < dgv.Rows.Count; j++)
             {
                 string columnValue = "";
                 for (int k = 0; k < dgv.Columns.Count; k++)
                 {
                     if (k > 0)
                     {
                         columnValue += ",";
                     }
                     if (dgv.Rows[j].Cells[k].Value == null)
                         columnValue += "";
                     else if (dgv.Rows[j].Cells[k].Value.ToString().Contains(","))
                     {
                         columnValue += "\"" + dgv.Rows[j].Cells[k].Value.ToString().Trim() + "\"";
                     }
                     else
                     {
                         columnValue += dgv.Rows[j].Cells[k].Value.ToString().Trim() + "\t";
                     }
                }
                sw.WriteLine(columnValue);
           }
           sw.Close();
           myStream.Close();                 
           MassageBox.Show("      !");
      }
      catch (Exception e)
      {
          MessageBox.Show("      !");               
      }
      finally
      {
         sw.Close();
         myStream.Close();
      }
      else          
         MessageBox.Show("        !"); 
}

참고 사항:
데이터를 로 내보냅니다.csv 형식의 파일은 데이터 계산을 할 때 비교적 번거로울 수 있습니다.내보낸 데이터를 계산하려면 Excel 형식으로 내보내는 것이 좋습니다.

좋은 웹페이지 즐겨찾기