导出Excle文件中数据到数据集

try

{

//打开Excel的数据集连接        

DataSet ds = new DataSet();
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + ExcelFileFullName + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();

string strExcelSql = "";
OleDbDataAdapter myCommand = null;
strExcelSql = string.Format("select * from [{0}]", sheetNames[0]); //sheetNames[0]为excel中工作薄的名称,如名称中不带$,则需在[]中加上$,如:[Customers$]

myCommand = new OleDbDataAdapter(strExcelSql, strConn);
myCommand.Fill(ds, sheetNames[0]);//填充sheet表单中数据到Dataset中
DataTable table = ds.Tables[0]; //取Dataset中的第一个表作为数据源:可根据个人需求更改
if (table == null || table.Rows == null || table.Rows.Count == 0)
return ;

//当前检查字段英文名
string fieldEnName = string.Empty;
//当前检查字段是否可空
bool isCanNull = true;
//当前检查字段的长度
int fieldLength = 0;

foreach (DataRow dr in fieldSTable.Rows)//通过字段表来检查:外层循环
{
fieldEnName = dr["Fieldenname"].ToString();
isCanNull = Convert.ToBoolean(dr["Iscannull"]);
fieldLength = Convert.ToInt32(dr["Fieldlength"]);
if (table.Columns[fieldEnName] != null)//判断Excel导出的表中是否存在指定的列
{
for (int row = 1; row < table.Rows.Count; row++)
{
//检查值是否为空
if (!isCanNull)
{
object value = table.Rows[row][fieldEnName];
if (value == null)
msgList.Add("不可空字段" + fieldEnName + ",值为空!");
}
}
}
else
{
msgList.Add("字段" + fieldEnName + "不存在!");
result = false;
}

}

}
catch (Exception ex)
{

}
return result;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值