当在DataSet中绑定检索到的excel列时,除最后一列外,所有列都被检索绑定

本文关键字:检索 绑定 一列 DataSet excel 最后 当在 列时 | 更新日期: 2023-09-27 18:04:23

我需要在ASP中导入excel文件。净MVC。导入工作按需进行,excel文件中有78列。除最后一列外,所有列都被导入。

我怎么能从excel文件检索最后一列?

string conString = string.Empty;
                        if (getFileExtension.ToLower() == ".xls")
                        {
                            conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + getFileName + ";Extended Properties='"Excel 8.0;HDR=Yes;IMEX=2'""; ;
                        }
                        else if (getFileExtension.ToLower() == ".xlsx")
                        {
                            conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + getFileName + ";Extended Properties='"Excel 12.0;HDR=Yes;IMEX=2'"";
                        }
                        OleDbConnection con = new OleDbConnection(conString);
                        if (con.State == ConnectionState.Closed) con.Open();
                        DataTable ExcelSheets = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
                        string SpreadSheetName = ExcelSheets.Rows[0]["TABLE_NAME"].ToString();
                        string query = "SELECT * FROM [" + SpreadSheetName + "]";
                        OleDbCommand cmd = new OleDbCommand(query, con);
                        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                        DataSet ds = new DataSet();
                        da.Fill(ds);
                        da.Dispose();
                        con.Close();
                        con.Dispose();

当在DataSet中绑定检索到的excel列时,除最后一列外,所有列都被检索绑定

根据从excel导入到数据表跳过最后一列的值,这可能是excel或OleDb的错误。

作为一种变通方法,您可以考虑修改Excel工作表,以便在末尾添加一个额外的列标题,列中没有数据。然后,在导入过程中跳过的列将是您不需要的列。