Member 14836421 Ответов: 3

Формат типа дата, текст, число при экспорте excel в datagridview C#


Please help me: I can't format Date (dd/mm/yyyy), Text, Number of Columns in Datagridview C# when Export Excel.

private void btnExportExcel_Click(object sender, EventArgs e)
        {
            if (dgvGF1111.Rows.Count > 0)

            {
                Microsoft.Office.Interop.Excel.Application xcelApp = new Microsoft.Office.Interop.Excel.Application();
                xcelApp.Application.Workbooks.Add(Type.Missing);

                for (int i = 1; i < dgvGF1111.Columns.Count + 1; i++)
                {
                    xcelApp.Cells[1, i] = dgvGF1111.Columns[i - 1].HeaderText;
                }

                for (int i = 0; i < dgvGF1111.Rows.Count; i++)

                {
                    for (int j = 0; j < dgvGF1111.Columns.Count; j++)

                    {
                        if (i < dgvGF1111.Rows.Count)
                        {
                            xcelApp.Cells[i + 2, j + 1] = dgvGF1111.Rows[i].Cells[j].Value.ToString();
                            //xcelApp.Cells[i+2, 3] = Convert.ToDateTime(dgvGF1111.Rows[2].Cells[3].Value);
                        }
                    }
                }
                xcelApp.Columns.AutoFit();
                xcelApp.Visible = true;
            }
        }

What I have tried:

Format Date, Text, number,.... when Export Excel in Datagridview C#

3 Ответов

Рейтинг:
27

Richard MacCutchan

Вам нужно добавить настройки формата в ячейку Excel, чтобы она отображала дату в нужном вам формате. Если формат не задан, то Excel будет использовать системные значения по умолчанию.


Рейтинг:
2

Member 14836421

Ричард MacCutchan: я не знаю параметров форматирования к ячейкам в Excel. Пожалуйста, пришлите мне ваши коды. Спасибо!


Richard MacCutchan

Я их тоже не знаю. Проверьте документацию или Google для получения образцов.

Рейтинг:
0

Member 10345165

dos cosas se necesitan :
1 - usar un hilo con el cultureinfo
2 - castear a date el valor a poner en la celda del excel


Нить.CurrentThread.CurrentCulture = new CultureInfo("es-ES");

xcelApp.Cells[i + 2, j + 1] = CDATE(dgvGF1111.Rows[i].Ячейки[j].значение.Метод toString());


Bendiciones. Espero te sirva mi hermano


Richard MacCutchan

Обратите внимание, что это англоязычный форум.

CHill60

CDate в C#?