楼主的问题 需要分3步
1、获取EXCL表
2、逻辑
3、存入数据库
1) 获取excl
///
/// 读取Excel文件,将内容存储在DataSet中
///
/// 带路径的Excel文件名
///
private DataSet ExcelToDataSet(string opnFileName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + opnFileName + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
OleDbConnection conn = new OleDbConnection(strConn);
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = new DataSet();
try
{
strExcel = "select * from [sheet1$]";
conn.Open();
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(ds, "dtSource");
conn.Close();
}
catch
{
MessageBox.Show("源数据出错!");
DataSet d = new DataSet();
return d;
}
return ds;
}
注意:该方法有似乎只支持97-2003格式的excl,还有就是读取不了第一行,这个问题我找过很多地方,都没有找打答案,我的解决方案就是,表头写两行,因为他不读取第一行数据。另外,尽量不要有空格,容易吧空格后面的内容读掉
2)上面的方法返回的是dataset
然后获取他的第一张表 DataTable dt=ExcelToDataSet(opnFileName).Tables[0];
获取表头 使用一个string保存
直接遍历dt的第一行数据
string s="";
for(int i=0;i