1. 程式人生 > >C# datagridview匯出excel

C# datagridview匯出excel

 #region 匯出excel
       public static void ExportDataGridViewToExcel(DataGridView dataGridview1)
       {
           SaveFileDialog saveFileDialog = new SaveFileDialog();
           saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
           saveFileDialog.FilterIndex = 0;
           saveFileDialog.RestoreDirectory = true;
           saveFileDialog.CreatePrompt = true;
           saveFileDialog.Title = "匯出Excel檔案到";

           DateTime now = DateTime.Now;
           saveFileDialog.FileName = now.Year.ToString().PadLeft(2)
           + now.Month.ToString().PadLeft(2, '0')
           + now.Day.ToString().PadLeft(2, '0') + "-"
           + now.Hour.ToString().PadLeft(2, '0')
           + now.Minute.ToString().PadLeft(2, '0')
           + now.Second.ToString().PadLeft(2, '0');

           saveFileDialog.ShowDialog();

           Stream myStream;
           myStream = saveFileDialog.OpenFile();
           StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
           string str = "";
           try
           {
               //寫標題   
               for (int i = 0; i < dataGridview1.ColumnCount; i++)
               {
                   if (i > 0)
                   {
                       str += "\t";
                   }
                   str += dataGridview1.Columns[i].HeaderText;
               }

               sw.WriteLine(str);
               //寫內容
               for (int j = 0; j < dataGridview1.Rows.Count - 1; j++)
               {
                   string tempStr = "";
                   for (int k = 0; k < dataGridview1.Columns.Count; k++)
                   {
                       if (k > 0)
                       {
                           tempStr += "\t";
                       }
                       tempStr += dataGridview1.Rows[j].Cells[k].Value.ToString();