vijay_bale Ответов: 1

Экспорт из C# в excel проблема даты приближается


Я экспортирую таблицу базы данных C# в excel. Экспорт-это нормально. Но в чем же проблема
после экспорта я проверил этот файл excel. в этой колонке есть только одна дата. есть отображение даты времени как
21-07-2017 12:00:00 AM
Все данные в столбце даты отображаются только так.Почему так происходит и как это остановить.
мой код таков
private void btnexport_Click(object sender, EventArgs e)
        {
            saveFileDialog1.InitialDirectory = "c:";
            saveFileDialog1.Title = "Save AS Excel";
            saveFileDialog1.FileName = "";
            saveFileDialog1.Filter = "Excel File 2003|*.xls|Excel File 2007|*.xlsx";
            if (saveFileDialog1.ShowDialog() != DialogResult.Cancel)
            {
                Microsoft.Office.Interop.Excel.Application Excelapp = new Microsoft.Office.Interop.Excel.Application();
                Excelapp.Application.Workbooks.Add(Type.Missing);
                Excelapp.Columns.ColumnWidth = 20;
                for (int i = 1; i < dataGridView1.Columns.Count + 1; i++)
                {
                    Excelapp.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;
                }
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    for (int j =0; j < dataGridView1.Columns.Count; j++)
                    {
                        Excelapp.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
                    }
                }
                Excelapp.ActiveWorkbook.SaveCopyAs(saveFileDialog1.FileName.ToString());
                Excelapp.ActiveWorkbook.Saved = true;
                Excelapp.Quit();


            }


Что я уже пробовал:

Я искал но подходящего результата не нашел

Richard MacCutchan

Потому что вы сохраняете все элементы в виде строк.

vijay_bale

так что же теперь делать с этой датой?

vijay_bale

как экспортировать эту дату в качестве даты ?

Richard MacCutchan

Преобразуйте его в правильный формат Excel.

1 Ответов

Рейтинг:
1

Nowfer Rifkan

использовать этот код

private void ExportToExcel()
       {
           try
           {
               Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
               Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);
               Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
               app.Visible = true;
               worksheet = workbook.Sheets["Sheet1"];
               worksheet = workbook.ActiveSheet;
               worksheet.Name = "Records";

               try
               {
                   for (int i = 0; i < dgvCus.Columns.Count; i++)
                   {
                       worksheet.Cells[1, i + 1] = dgvCus.Columns[i].HeaderText;
                   }
                   for (int i = 0; i < dgvCus.Rows.Count; i++)
                   {
                       for (int j = 0; j < dgvCus.Columns.Count; j++)
                       {
                           if (dgvCus.Rows[i].Cells[j].Value != null)
                           {
                               worksheet.Cells[i + 2, j + 1] = dgvCus.Rows[i].Cells[j].Value.ToString();
                           }
                           else
                           {
                               worksheet.Cells[i + 2, j + 1] = "";
                           }
                       }
                   }

                   //Getting the location and file name of the excel to save from user.
                   SaveFileDialog saveDialog = new SaveFileDialog();
                   saveDialog.Filter = "Excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
                   saveDialog.FilterIndex = 2;

                   if (saveDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                   {
                       workbook.SaveAs(saveDialog.FileName);
                       MessageBox.Show("Export Successful", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                   }
               }
               catch (System.Exception ex)
               {
                   MessageBox.Show(ex.Message);
               }

               finally
               {
                   app.Quit();
                   workbook = null;
                   worksheet = null;
               }
           }
           catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); }

       }


vijay_bale

то же самое происходит и раньше 31-07-2017 12: 00: 00