关于网友提出的“excl 读取excl”问题疑问,本网通过在网上对“excl 读取excl”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:excl 读取excl
描述: 我读取了excl文件 里面的数据是这样 id 名称 类型 价格
111 猪 动物 88
111 野猪 动物 288
OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet1$] ", String.Format("Provider = Microsoft.Jet.OLEDB.4.0;Data Source = {0};Extended Properties = Excel 8.0;", Server.MapPath(@"HoteList.xls")));
DataSet ds = new DataSet("data");
da.Fill(ds, "info");
string MacAddId = Request.QueryString["id"].ToString();
我是这样读取的 然后 我需要用MacAddId这个参数 来匹配 文档里的id数据 然后在把其他数据显示出来 请问我怎么操作文档里的列呢
解决方案1: /创建一个数据链接
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ;
Data Source = c:\\sample.xls;
Extended Properties=Excel 8.0" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * FROM [Sheet1$] " ;
myConn.Open ( ) ;
file://打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
file://创建一个 DataSet对象
myDataSet = new DataSet ( ) ;
file://得到自己的DataSet对象
myCommand.Fill ( myDataSet , "[Sheet1$]" ) ;
file://关闭此数据链接
myConn.Close ( ) ;
解决方案2: string MacAddId = Request.QueryString["id"].ToString();
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
//HDR=Yes,这代表第一行是标题,不做为数据使用.如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
//当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。
//当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。
//当 IMEX=2 时为“连结模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。
strConn = string.Format(strConn, Server.MapPath(@"HoteList.xls"));
try
{
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", conn);
using (OleDbDataReader odr = cmd.ExecuteReader())
{
while (odr.Read())
{
string id = odr[0].ToString(); //id
string name = odr[1].ToString(); //名称
string type = odr[2].ToString(); //类型
string price = odr[3].ToString(); //价格
//...下面就可以根据id同MacAddId来匹配了
}
odr.Close();
conn.Close();
}
}
catch (Exception ex)
{
}
解决方案3: 方法1. Sql 直接写 select * from [Sheet1$] where [id]={0}
方法2. DataRow[] rows = DataTable.Select(string.Format("id={0}", MacAddId));
方法3. Linq
解决方案4: string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";les[0].Select
using(OleDbConnection OleConn = new OleDbConnection(strConn))
{
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet ds= new DataSet();
OleDaExcel.Fill(ds);
DataRow[] dr=ds.Tables[0].Select("");
OleConn.Close();
}
以上介绍了“excl 读取excl”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2293962.html