首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

啊EXCEL导入datagridview, 日期显示的是一串数字。咋回事啊代码见内

2013-07-04 
啊,求助,EXCEL导入datagridview, 日期显示的是一串数字。。。怎么回事啊?代码见内。比如在EXCEL中是2011/11/11

啊,求助,EXCEL导入datagridview, 日期显示的是一串数字。。。怎么回事啊?代码见内。
比如在EXCEL中是2011/11/11,导入到datagridview就是一串数字。
求如何在datagridview显示的也是日期啊。。。

导入Excel
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "Excel文件(*.xls)|*.xls";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                string filename = ofd.FileName;
                ExcelToDataGridView(filename);
            }
        }

        private void ExcelToDataGridView(string filename)
        {
            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook workbook;
            Microsoft.Office.Interop.Excel.Worksheet worksheet;

            object oMissing = System.Reflection.Missing.Value;

            workbook = excel.Workbooks.Open(filename, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);

            worksheet = (Worksheet)workbook.Worksheets[1];

            int rowCount = worksheet.UsedRange.Rows.Count;
            int colCount = worksheet.UsedRange.Columns.Count;


            Microsoft.Office.Interop.Excel.Range range1;

            System.Data.DataTable dt = new System.Data.DataTable();

            for (int i = 0; i <= colCount; i++)
            {
                try
                {
                    range1 = worksheet.get_Range((object)worksheet.Cells[1, i + 1], (object)worksheet.Cells[1, i + 1]);
                    dt.Columns.Add(range1.Value2.ToString());

                }


                catch (Exception)
                {

                }
            }
            for (int j = 1; j < rowCount; j++)
            {
                DataRow dr = dt.NewRow();
                for (int i = 0; i <= colCount; i++)
                {
                    try
                    {
                        range1 = worksheet.get_Range((object)worksheet.Cells[j + 1, i + 1], (object)worksheet.Cells[j + 1, i + 1]);
                        dr[i] = range1.Value2.ToString();
                    }
                    catch (Exception)
                    { }
                }

                dt.Rows.Add(dr);
            }
            dataGridView1.DataSource = dt;
            excel.Quit();
        }


热点排行