使用 ASP.NET,我需要将从 Excel 文件加载的数据与 SQL Server 表中的数据进行比较。它是用西里尔文写的数据。
基本上,在脚本创建一个填充了数据库表中数据的数组列表后,它会打开 Excel 文件,并列出其中一列的数据。对于存储在 Excel 单元格中的每个数据,我必须在提到的数组列表中找到位置。
我在两个源中都有相同的数据,但脚本返回根本没有相同的数据。我想这与西里尔字母有关。
用于读取 Excel 单元格并与数组列表进行比较的部分代码如下所示:
OleDbConnection con = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.Connection = con;
OleDbDataAdapter dAdapter = new OleDbDataAdapter(cmd);
DataTable dtExcelRecords = new DataTable();
con.Open();
DataTable dtExcelSheetName = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string getExcelSheetName = dtExcelSheetName.Rows[0]["Table_Name"].ToString();
cmd.CommandText = "SELECT * FROM [" + getExcelSheetName + "]";
Page.Trace.Write(getExcelSheetName);
dAdapter.SelectCommand = cmd;
dAdapter.Fill(dtExcelRecords);
con.Close();
foreach (DataRow row in dtExcelRecords.Rows)
{
Response.Write(row[0]);
Response.Write(" ");
Response.Write(MyClass.areasList.IndexOf(row[0])); // always returns -1
Response.Write(Environment.NewLine);
Response.Write("<br />");
}
你能帮我解决这个问题吗?先感谢您!