Amar chand123 Ответов: 1

Проблема в экспорте данных datagridview в excel с текстовым форматом в C# winform


если у меня есть те же данные в моей DataGridView форме моей базы данных и когда я экспортирую данные в Excel то эта проблема у меня есть

в DataGridView DataShow в Столбцах[1]
00001
00002
00005
00010
00015
00100


Код для загрузки DGV

private void LoanData()
        {
            String connstring = ConfigurationManager.ConnectionStrings["Data"].ConnectionString;
            using (OleDbConnection con = new OleDbConnection(connstring))
            {
                con.Open();
                using (OleDbDataAdapter da = new OleDbDataAdapter("select Sr, RequestNo, Date, Status from RequestData where RequestNo = @RequestNo", con))
                {
                    da.SelectCommand.Parameters.AddWithValue("@RequestNo", txtRequestNo.Text);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    dataGridView1.DataSource = dt;
                    dataGridView1.Columns[0].Width = 50;
                    dataGridView1.Columns[0].HeaderText = "Sr.No";
                    dataGridView1.Columns[1].Width = 85;
                    dataGridView1.Columns[1].HeaderText = "Request No.";
                    dataGridView1.Columns[2].Width = 110;
                    dataGridView1.Columns[2].HeaderText = "Date";
                    dataGridView1.Columns[2].DefaultCellStyle.Format = "dd/MM/yyyy";
                    dataGridView1.Columns[3].Width = 65;
                    dataGridView1.Columns[3].HeaderText = "Request Status";
                }
            }
        }


and for Export use this Code
private void button1_Click(object sender, EventArgs e)
        {
            DateTime fullDate = DateTime.Now;

            string folderPath = "C:\\Report\\";
            if (!Directory.Exists(folderPath))
            {
                Directory.CreateDirectory(folderPath);
            }

            Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            object misValue = System.Reflection.Missing.Value;

            xlApp = new Excel.Application();
            xlWorkBook = xlApp.Workbooks.Add(misValue);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
            

            for (int i = 0; i < dataGridView1.Columns.Count; i++)
            {
                
                xlWorkSheet.Cells[10, i + 1] = dataGridView1.Columns[i].HeaderText;
            }

            
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                for (int j = 0; j < dataGridView1.Columns.Count; j++)
                {
                    DataGridViewCell cell = dataGridView1[j, i];
                    xlWorkSheet.Cells[i + 1 + 10, j + 1] = cell.Value;
                    
                }
            }
            

            xlWorkSheet.Range["C2:C19"].NumberFormat = "dd/MM/yyy";
            xlWorkSheet.Range["B2:B19"].NumberFormat = "@";

           
            xlApp.Columns.AutoFit();

            string filename = string.Format("Report_ {0}.xls", DateTime.Now.ToString("yyyyMMMdd"));

            string Savepath = Path.Combine(folderPath, filename);
                



            xlWorkBook.SaveAs(Savepath, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();

            var ConFirmResult = MessageBox.Show("Export Complected in " + Savepath + "" + Environment.NewLine + "Do you Want open this File ", "File Export Successfully", MessageBoxButtons.YesNo);
            if (ConFirmResult == DialogResult.Yes)
            {
                System.Diagnostics.Process.Start(Savepath);
            }
            else
            {

            }

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);
        }


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

но когда я экспортирую данные в Excel
экспорт данных

1
2
5
10
15
100


я использую код
xlWorkSheet.Range["B8:B19"].NumberFormat = "@";

OriginalGriff

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.

Начните с того, что покажите нам код, который вы используете для загрузки DGV, код, который вы используете для экспорта в Excel, и некоторое представление о том, как выглядят ваши поля БД, вероятно, поможет вам. Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы, и есть много различных способов сделать эти вещи, все из которых могут дать разные результаты!

Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Amar chand123

я улучшил свой вопрос

1 Ответов

Рейтинг:
11

Maciej Los

Bsaed по документации: Коды числового формата[^], вам нужно установить NumberFormat к: 00000


Amar chand123

Спасибо

Maciej Los

Всегда пожалуйста.