在asp .net C#中的网格视图(已定义的列名称)中上传一个没有标题的Excel文件,每次在dt.Rows.Add()到达时都显示错误

问题描述 投票:0回答:1

这里我用来导入excel到网格视图的代码..每次在dt.Rows.Add()得到错误

这里的错误“字符串未被识别为有效的DateTime。从索引0开始有一个未知的单词。不能存储在SUPPLY DATE列中。预期的类型是DateTime。”

在.aspx页面中,我没有定义任何具有datetime的列

DataTable dtExl = conUpLoad.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);

                string getExcelSheetName = dtExl.Rows[0]["Table_Name"].ToString();

                OleDbCommand ExcelCommand = new OleDbCommand("Select * From [" + getExcelSheetName + "]", conUpLoad);
                OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter(ExcelCommand);
                DataSet ExcelDataSet = new DataSet();
                ExcelAdapter.Fill(ExcelDataSet);

                //conUpLoad.Close();



                // Clearing the grid ::::::::::::::::::::::
                ViewState["dt"] = null;
                GridView1.DataSource = ViewState["dt"] as DataTable;
                GridView1.DataBind();

                // ::::::::::::::::::::::::::::::::::::::::
                DataTable dt = ExcelDataSet.Tables[0];

                int i = 0;
                if (ExcelDataSet.Tables[0].Rows.Count > 0)
                {

                    String DINumber = ExcelDataSet.Tables[0].Rows[0][0].ToString();
                    String PartNo = ExcelDataSet.Tables[0].Rows[0][1].ToString();
                    String DeliveryDt = Convert.ToDateTime(ExcelDataSet.Tables[0].Rows[0][3].ToString()).ToString("dd-MMM-yyyy");
                    String Location = ExcelDataSet.Tables[0].Rows[0][5].ToString();
                    String Qty = ExcelDataSet.Tables[0].Rows[0][7].ToString();
                    String PartyCode = ExcelDataSet.Tables[0].Rows[0][10].ToString();

                    dt.Rows.Add(DINumber, PartNo, DeliveryDt, Location, Qty, PartyCode);

                    ViewState["dt"] = dt;
                    GridView1.DataSource = ViewState["dt"] as DataTable;
                    GridView1.DataBind();


                    i++;
                }
                else
                {
                    GridView1.DataSource = null;
                    GridView1.DataBind();
                }
asp.net
1个回答
0
投票

我按照这个例子找到了解决方案..

http://dotnetmentors.com/aspnet/display-excel-data-in-web-page.aspx

© www.soinside.com 2019 - 2024. All rights reserved.