我正在尝试将一个列从excel文件导入到datagridview中的一列。 现在可以通过将所有数据选择到datagridview来完成导入的想法但是如何在比较两者中的所有数据并确保它们相等之后,我只能从excel文件中选择一列到datatgridview中的一列? 我的意思是,是否有任何语句可以从excel文件中选择此列到datagridview中的另一个特定列,其中两者中的所有数据都相等?
提前谢谢大家
注意:我不知道这个想法是否清楚,但你可以问我何时需要更多澄清
答案 0 :(得分:0)
这里有一些东西,你也可以尝试让初学者搞乱它
如果您需要一个使用Ranges的示例。请告诉我,我也可以发布一个示例,但这应该足以让您入门。 更改代码Sorce =以匹配Excel文件的文件路径
using System.Data;
using System.Data.OleDb;
...
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties=Excel 8.0");
OleDbDataAdapter da = new OleDbDataAdapter("select * from MyObject", con);
DataTable dt = new DataTable();
da.Fill(dt);
如果你想要一个如何阅读excel文件的完整示例,这是另一个例子
以下是阅读Excel文件所需的全部代码。
void Read_My_Excel_File()
{
// Test.xls is in the C:\
string connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + C:\Test.xls + ";";
connectionString += "Extended Properties=Excel 8.0;";
// always read from the sheet1.
OleDbCommand myCommand = new OleDbCommand("Select * from [Sheet1$];");
OleDbConnection myConnection = new OleDbConnection(connectionString);
myConnection.Open();
myCommand.Connection = myConnection;
OleDbDataReader myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
// it can read upto 5 columns means A to E. In your case if the requirement is different then change the loop limits a/c to it.
for (int i = 0; i < 5; i++)
{
Response.Write(myReaderIdea.ToString() + " ");
}
Response.Write("<br>");
}
myConnection.Close();
}