日期:2014-05-20 浏览次数:20947 次
protected void btnOK_Click(object sender, EventArgs e)
{
if (fuPath.HasFile)
{
string path = fuPath.PostedFile.FileName.ToString();
string[] pathArray = path.Split('\\');
string name = pathArray[pathArray.Length - 1];
string endName = DateTime.Now.ToString("yyMMddHHmmss") + name;
string endPath = HttpContext.Current.Server.MapPath("~/Excel/") + endName;
fuPath.PostedFile.SaveAs(endPath);
DataSet ds = ExcelToDataSet(endPath);
if (SqlHelper.HasRow(ds))
{
string error = "";
#region for
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
#region Check
string typeNo = ds.Tables[0].Rows[i]["xx"].ToString().Trim();
string typeName = ds.Tables[0].Rows[i]["ccc"].ToString().Trim();
string pTypeNo = ds.Tables[0].Rows[i]["dd"].ToString().Trim();
string pTypeName = ds.Tables[0].Rows[i]["eee"].ToString().Trim();
string remark = ds.Tables[0].Rows[i]["fff"].ToString().Trim();
if (typeNo.Length > 100)
typeNo = typeNo.Substring(0, 100);
if (typeName.Length > 100)
typeName = typeName.Substring(0, 100);
if (pTypeName.Length > 50)
pTypeName = pTypeName.Substring(0, 50);
if (remark.Length > 100)
remark = remark.Substring(0, 100);
#endregion
#region Linq
TabAssetsType p = db.TabAssetsType.FirstOrDefault(c => c.TypeNo == typeNo);
if (p == null)
{
TabAssetsType tabAsstype = new TabAssetsType();
tabAsstype.TypeNo = FormatCom.String(typeNo);
tabAsstype.TypeName = FormatCom.String(typeName);
tabAsstype.PTypeNo = FormatCom.String(pTypeNo);
tabAsstype.PTypeName = FormatCom.String(pTypeName);
tabAsstype.IsState = 0;
tabAsstype.Remark = FormatCom.String(remark);
db.TabAssetsType.InsertOnSubmit(tabAsstype);
}
else
{
//error += @"xx(" + typeNo + ")已存在!\r\n";
}
#endregion
}
#endregion
try
{
db.SubmitChanges();
db.ExecuteCommand("update TabAssetsType set TypeNo = TypeNo");
error += @"导入成功!\r\n";
MessageBox(error);
}
catch (Exception ex)
{
MessageBox("导入失败!");
}
}
else
{
MessageBox("该文件中没有xx信息,请检查模板是否正确!");
return;
}
}
else
{
MessageBox("请选择要导入的文件!");
return;
}
}
public DataSet ExcelToDataSet(string Path)
{
DataSet ds = new DataSet();
try
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter("select * from [Sheet1$]", strConn);
myCommand.Fill(ds, "TabAssetsType");
return ds;
}
catch
{
MessageBox("支持Excel2003的导入不支持2007!");
}
return ds;
}