如何读取EXCEL到DataTable,需要从指定的行列读取(C#) 从一个Excel文件中读取数据到DataTable,需要从指定的行列读取,然后Save到数据库中或者直接从Excel中读取数据,直接Save到数据库中看网上的都是直接整个sheet的数据读进去请各位帮忙,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static DataSet ImportExcel(string file) { FileInfo fileInfo = new FileInfo(file); if (!fileInfo.Exists) return null; string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'"; OleDbConnection objConn = new OleDbConnection(strConn); DataSet dsExcel = new DataSet(); try { objConn.Open(); string strSql = "select TOP 10 * from [Sheet1$]"; //修改这条SQL,应该能实现从第几条到第几条 OleDbDataAdapter odbcExcelDataAdapter = new OleDbDataAdapter(strSql, objConn); odbcExcelDataAdapter.Fill(dsExcel); return dsExcel; } catch (Exception ex) { throw ex; } } private DataTable FromExcel() { string strConn; strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=lieche.xls;Extended Properties='Excel 8.0;HDR=False;IMEX=1'"; OleDbConnection OleConn = new OleDbConnection(strConn); OleConn.Open(); String sql = "SELECT * FROM [Sheet1$]";//改变这sql语句取你需要的 OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn); DataSet OleDsExcle = new DataSet(); OleDaExcel.Fill(OleDsExcle, “lieche”); OleConn.Close(); return OleDsExcle.table[0];} string strSql = "select TOP 10 * from [Sheet1$]"; //修改这条SQL,应该能实现从第几条到第几条------------------------------------------------------关键就是这里不会啊,不知道如何从第N行N列取数据 select top 10 * from table where id not in (select top 30 id from table ) EXCEL中的格式Address dalsld Company xxx Tel xxx SN PARTNO DCODE Desciption --第四行11111 98898-001 J9767 XXXX22222 98898-002 J9768 XXXX我要从SN的下一行开始读取数据 把Excel读到一个Table中,你再找不是很方便了吗? 如果读到DataTable里面有很多垃圾数据,怎么show出来给user看? //可以全部读取到DataTable中,再根据需要操作DataTable中的行列插进数据库DataTable.Rows[i][j] 可用DataTable.Select('条件')筛选出你需要的记录 string sqlExcel = ("select * from [计划上sheet$A3:D8]"); sheet$后面是范围A3到D8的 如果行不确定 要取到后面行 就把D8改成D C#监控程序 打开文件对话框中看不到部分文件是什么原因? 关于求平均值 如何在A窗体访问B窗体的控件 这样的页面如何生成 问一个匹配的问题,紧急求助 100分跪求 VS .net下载地址 如何制作一个监视QQ启动的服务? 问题,请路过的哥们顺道看一下!??? *(在线等待)* UP有分 如何把string转换成stream 错误 CS0246: 找不到类型或命名空间名称“Form2”(是否缺少 using 指令或程序集引用?) c# winform:StatusStrip应用!!!谢谢!!
{
FileInfo fileInfo = new FileInfo(file);
if (!fileInfo.Exists)
return null; string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
OleDbConnection objConn = new OleDbConnection(strConn);
DataSet dsExcel = new DataSet();
try
{
objConn.Open();
string strSql = "select TOP 10 * from [Sheet1$]"; //修改这条SQL,应该能实现从第几条到第几条
OleDbDataAdapter odbcExcelDataAdapter = new OleDbDataAdapter(strSql, objConn);
odbcExcelDataAdapter.Fill(dsExcel);
return dsExcel;
}
catch (Exception ex)
{
throw ex;
}
}
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=lieche.xls;Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";//改变这sql语句取你需要的 OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, “lieche”);
OleConn.Close();
return OleDsExcle.table[0];
}
------------------------------------------------------
关键就是这里不会啊,不知道如何从第N行N列取数据
Company xxx
Tel xxx
SN PARTNO DCODE Desciption --第四行
11111 98898-001 J9767 XXXX
22222 98898-002 J9768 XXXX
我要从SN的下一行开始读取数据
再根据需要操作DataTable中的行列插进数据库
DataTable.Rows[i][j]