作者:乔山办公网日期:
返回目录:excel表格制作
查询的时候加个条件不就好了,excle本身就是一个数据啊,或者遍历你所查询出来的数据结合,一条一条的找你需要的数据,或者你使用LinQ查询你的数据集也可以啊!
这涉及到Execl读取了。
1、建议先建一个类ExcelHelper,需要引用dll,不想麻烦的话直知接用微软的的Microsoft.Office.Interop.Excel就行,当然了,道推荐NPOI,开源的,百度下载。参考一些常用写法,在这个类里写好读取Excel的方法,比如专ExcelToDataTable(),将Excel读出来的数据转成DataTable型变量。
后续有更多Execl相关的操作的话,都在这个类里实现属,方便移植。
2、导入时给DataGridView赋值就行。调用ExcelHelper.ExcelToDataTable()把Excel内容对应的DataTable取出来,然后赋给DataGridView的DataSource属性。
excel作为数据源用SQL语句先读入到百DATATABLE,新定义DATATABLE结构与之前度取得的一致
循环内DATATABLE 与DATAGRIDEVIEW中的进行比较 有不操作 无就将该记录加入新的ATATABLE中。循环完成后
循环之前生成的datatable 将里面的值容添加到DATAGRIDVIEW中完成
public static DataTable ImportExcelToDataSet(string filePath) {
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;Imex=1'";
DataTable dt = new DataTable();
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [message$]", strConn);
try
{
oada.Fill(dt);
}
catch (Exception ex)
{
throw new Exception("该Excel文件的工作表的名字设置为 message,以便获取数据" + ex.Message);
}
return dt;
}
这个7a64e78988e69d83362就是吧excel到如到datatable中 然后你指定DataGridView的数据源是这个即可
默认情况下这个会吧excel第一行作为datatable的column,