[英]search for text in excel file c#
我正在用c#編寫Windows應用程序,並且我想以一種形式使用Excel文件。
在表單中,當用戶在文本框中鍵入Employee ID時,我想搜索excel文件,並根據ID在其他一些文本框中顯示該雇員的其他信息(名稱文本框,姓氏文本框,狀態文本框和食物計數文本框)
請告訴我如何從中檢索信息。
public List <string>[] RetrieveColumnGeneral(Excel.Worksheet sheet,string FindWhat)
{
int columnCount = sheet.UsedRange.Columns.Count;
List<string>[] columnValue = new List<string>[columnCount];
Excel.Range rngResult = null;
Excel.Range rng = null;
int index = 0;
int rowCount = sheet.UsedRange.Rows.Count;
Excel.Range FindRange = null;
for (int columnIndex = 1; columnIndex <= sheet.UsedRange.Columns.Count;columnIndex++ )
{
FindRange = sheet.UsedRange.Columns[columnIndex] as Excel.Range;
FindRange.Select();
rngResult = FindRange.Find(What: FindWhat, LookIn: Excel.XlFindLookIn.xlValues,
LookAt: Excel.XlLookAt.xlPart, SearchOrder: Excel.XlSearchOrder.xlByRows);
if (rngResult != null)
{
columnValue[index] = new List<string>();
for (int rowIndex = 1; rowIndex <= sheet.UsedRange.Rows.Count;rowIndex++ )
{
rng = sheet.UsedRange[rowIndex, columnIndex] as Excel.Range;
if (rng.Value != null)
{
columnValue[index].Add(rng.Value.ToString());
}
}
index++;
}
}
Array.Resize ( ref columnValue , index);
return columnValue;
}
謝謝,我找到了這段代碼。 您能告訴我這是否可以解決我的問題嗎(也可以通過一些修改)。
嘗試這個,
You have to passed Sheet object, but in below code SQL statement fire and get all records in DataSet object.
string sql = "SELECT * FROM [" + selectedWorksheetName + "]";
var adapter = new OleDbDataAdapter(sql, excelObject.Connection);
adapter.Fill(activityDataSet, "Results");
if (activityDataSet.Tables[0] != null)
{
//here you will check which data get based on your columns
}
嘗試這樣的事情。
var ds = new DataSet();
var adapter = new OleDbDataAdapter("SELECT * FROM [" + newSheetName + "]", ConnectionString);
adapter.Fill(ds, newSheetName);
然后使用上面的數據集過濾行。
DataRow dataRow = (from DataRow dr in ds.Tables[0].Rows where dr["Id"] == textbox.Text select dr).FirstOrDefault();
if(dataRow != null)
{
// Fill values from this dataRow
}
編輯
// If excelsheet ends with .xls
string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\ExcelData\QB Accounts.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
// If excelsheet ends with .xlsx
string ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\ExcelData\CSENG01.xlsx;Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.