جستجو در فایل اکسل با ADO.NET
سلام
در این پست موضوعی رو مطرح میکنم که کمتر به آن پرداخته شده است
ما از ADO.Net استفاده میکنم ، لازمه فضای اسمی استفاده از oledb برای مدیریت دسترسی به فایل های مایکروسافت اضافه شود . این فضای نام کلاس هایی است که میتونیم با استفاده از به تعامل با منابع داده ها مثل Excel، Access و انواع فایل های دیگه رو انجام بدیم .زمانی که کدرا تجزیه و تحلیل میکنیم در آن کلاس های OleDbConnection و OleDbCommand استفاده میکنیم که ابزار های اصلی اتصال به منبع هستند
یک کنترل DataTable تعریف کردیم که شامل سطره ها و ستون ها می باشد و تمام اطلاعاتی که مااز منبع داده میخوانیم را شامل میشود.
کنترل آخر (BindingSource) که برای انجام عمل جستجو و نمایش اطلاعات در خروجی استفاده میشود.
بلافاصله بعد از استفاده از کلاس OleDbConnection یک رشته اتصال برای منبع داده تعریف میکنیم که
Data Provider نامیده میشود
درنهایت با استفاده از بایندیگ عمل داده کاوی انجام میشود
private DataSet _ds;
private DataTable _tb;
private BindingSource _bs;
public Form1()
InitializeComponent();
{
}
private void Form1Load(object sender, EventArgs e)
{
_ds = new DataSet();
_tb = new DataTable();
var myConnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=yes");
_bs = new BindingSource();
_ds.Tables.Add(_tb);
var myCommand = new OleDbDataAdapter("SELECT * FROM [Foglio1$]", myConnection);
myCommand.Fill(_tb);
if (ReferenceEquals(sender, txtName))
_bs.DataSource = _ds.Tables[0];
}
private void TextBoxValidated(object sender, EventArgs e)
{
{
else if (ReferenceEquals(sender, txtCountry))
Trova((TextBox)sender, "Name");
}
else if (ReferenceEquals(sender, txtFamily))
{
Trova((TextBox)sender, "Family");
_bs.Filter = String.Concat(nomeColonna, " ", "LIKE '", textBox.Text, "*'");
}
{
Trova((TextBox)sender, "Country");
}
}
private void Trova(Control textBox, string nomeColonna)
{
DataGridView1.DataSource = _bs;
} } }
اکسل,جستجو با سی شارپ,جستجو در excel,جستجو در اکسل,داده کاوی اکسل,سورس سی شارپ,سی شارپ