Create a HTML File From a DataGridView Control
      First complete the following steps:
      Create a new C# Windows Application in Visual Studio.
      Add two button controls to the form.
      Add a DataGridView Control to the form.
    
Double Click on the Form and add the code below to the Load Event of the Form
      private void frmDataGridExportHTML_Load(object sender, EventArgs e)
      {
      //If you manually add rows to a DataGridView, you must disable the
      //AllowUserToAddRows function.  The function can be enabled after
      //you have added the rows.
      dataGridView1.AllowUserToAddRows = false;
      //The code below adds Columns to the DataGridView control
      DataGridViewColumn colHold = new DataGridViewTextBoxColumn();
      colHold.Name = "col1";
      colHold.HeaderText = "FIELD1";
      dataGridView1.Columns.Add(colHold);
      colHold = new DataGridViewTextBoxColumn();
      colHold.Name = "col2";
      colHold.HeaderText = "FIELD2";
      dataGridView1.Columns.Add(colHold);
      colHold = new DataGridViewTextBoxColumn();
      colHold.Name = "col3";
      colHold.HeaderText = "FIELD3";
      dataGridView1.Columns.Add(colHold);
      colHold = new DataGridViewTextBoxColumn();
      colHold.Name = "col4";
      colHold.HeaderText = "FIELD4";
      dataGridView1.Columns.Add(colHold);
      //The code below adds rows and fills cells with values to be exported.
      dataGridView1.Rows.Add();
      dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Value = "1";
      dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[1].Value = "2";
      dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[2].Value = "3";
      dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[3].Value = "4";
      dataGridView1.Rows.Add();
      dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0].Value = "5";
      dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[1].Value = "6";
      dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[2].Value = "7";
      dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[3].Value = "8";
      }
    
      Double Click on the ‘button1’ Control and add the code below to the Click Event of the button.
      This code displays the data from the DataGridView Control in a table format.
    
      private void button1_Click(object sender, EventArgs e)
      {
      string sLine = "< table border=" + "\"" + "1" + "\"" + ">
      ";
      //This line of code creates a html file for the data export.
      System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\HTMLFile1.html");
      file.WriteLine(sLine);
      sLine = "";
      try
      {
      sLine = "< tr >";
      file.WriteLine(sLine);
      //This for loop places the column headers into the first row of the HTML table.
      for (int c = 0; c <= dataGridView1.Columns.Count - 1; c++)
      {
      sLine = "< td >" + dataGridView1.Columns[c].HeaderText + "< /td >";
      file.WriteLine(sLine);
      }
      sLine = "";
      //This for loop loops through each row in the DataGridView.
      for (int r = 0; r <= dataGridView1.Rows.Count - 1; r++)
      {
      sLine = sLine + "< tr >";
      file.WriteLine(sLine);
      sLine = "";
      //This for loop loops through each column, and the row number
      //is passed from the for loop above.
      for (int c = 0; c <= dataGridView1.Columns.Count - 1; c++)
      {
      sLine = "< td >" + dataGridView1.Rows[r].Cells[c].Value + "";
      file.WriteLine(sLine);
      }
      //The exported text is written to the html file, one line at a time.
      sLine = "< /tr >";
      file.WriteLine(sLine);
      sLine = "";
      }
      sLine = "< /table >";
      file.WriteLine(sLine);
      file.Close();
      System.Windows.Forms.MessageBox.Show("Export Complete.", "Program Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
      }
      catch (System.Exception err)
      {
      System.Windows.Forms.MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
      file.Close();
      }
      }
    
      Double Click on the ‘button2’ Control and add the code below to the Click Event of the button.
      This code displays the data in the DataGridView Control in a list format.
    
      private void button2_Click(object sender, EventArgs e)
      {
      string sLine = "";
      //This line of code creates a html file for the data export.
      System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\HTMLFile2.html");
      sLine = "";
      try
      {
      for (int r = 0; r <= dataGridView1.Rows.Count - 1; r++)
      {
      sLine = "";
      for (int c = 0; c <= dataGridView1.Columns.Count - 1; c++)
      {
      sLine = dataGridView1.Columns[c].HeaderText + "< br>";
      file.WriteLine(sLine);
      sLine = System.Convert.ToString(dataGridView1.Rows[r].Cells[c].Value) + "< br>";
      file.WriteLine(sLine);
      }
      sLine = "< p>";
      file.WriteLine(sLine);
      }
      file.Close();
      System.Windows.Forms.MessageBox.Show("Export Complete.", "Program Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
      }
      catch (System.Exception err)
      {
      System.Windows.Forms.MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
      file.Close();
      }
      }
    #CSharp #VisualStudio