讀取Excel 數據
//確定提交
protected void Butn_Submit_Click(object sender, EventArgs e)
{
//if (this.CheckRefreshed1.isRefreshed)//如果是刷新頁面重復提交
//{
// return;
//}
ExcelPath = MethodLibrary.GetDateString() + "_" + this.Fild_Excel.FileName.Substring(this.Fild_Excel.FileName.LastIndexOf(‘.‘));//表格地址
this.Fild_Excel.SaveAs(Server.MapPath("/kaosheng/shujuheyan/") + ExcelPath);//添加表格
DataTranf(Server.MapPath("/kaosheng/shujuheyan/") + ExcelPath);//訪問到數據庫
}
//傳入excel文件的路徑。
protected void DataTranf(string Excelpath)
{
DataTable dtExcel = ExcelToDataTable(Excelpath, "Sheet2");
if (dtExcel.Rows.Count == 0)//判斷行數
{
RegisterClientScriptBlock("", "<script>alert(‘您選擇的要導入的xls數據存在問題,無法正常導入。請下載模板然後進行添加數據,不可以修改表的結構,如有問題請點擊頁面上的QQ在線咨詢。‘);</script>");
return;
}
if (dtExcel.Columns.Count != 6)//判斷列數
{
RegisterClientScriptBlock("", "<script>alert(‘模板的列數不為6,(當前" + dtExcel.Columns.Count + "列)格式錯誤!‘);</script>");
return;
}
for (int i = 0; i < dtExcel.Rows.Count; i++)
{
if (dtExcel.Rows[i][0].ToString().Trim().Length > 0 || dtExcel.Rows[i][2].ToString().Trim().Length > 0)
{
int b = 1;
//InsertToDB(dtExcel.Rows[i][0].ToString().Trim(), dtExcel.Rows[i][b++].ToString().Trim(), dtExcel.Rows[i][b++].ToString().Trim(), dtExcel.Rows[i][b++].ToString().Trim(), dtExcel.Rows[i][b++].ToString().Trim(), dtExcel.Rows[i][b++].ToString().Trim(), dtExcel.Rows[i][b++].ToString().Trim());//插入數據
if (My_Sql.Sql2("select R_sn from NF_User_Record where R_Name=‘" + dtExcel.Rows[i][1].ToString().Trim() + "‘ and R_IDnumber=‘" + dtExcel.Rows[i][2].ToString().Trim() + "‘ and R_BuMen = ‘,1247,‘").Rows.Count == 0)
{
Response.Write("姓名:" + dtExcel.Rows[i][(1)].ToString().Trim() + "---身份證號:" + dtExcel.Rows[i][2].ToString().Trim() + "的人數據庫不存在<br />");
}
}
//此處根據excel中字段,自己設定要取用的字段。
if (i == 999)
{
RegisterClientScriptBlock("", "<script>alert(‘一次最多導入1000人,最後導入人姓名:" + dtExcel.Rows[i][0].ToString() + "‘);</script>");
break;
}
}
//RegisterClientScriptBlock("", "<script>alert(‘導入成功,共導入 " + ChengGongCount + " 條數據‘);</script>");
}
///// <summary>
///// 插入記錄到SqlServer數據庫:
///// </summary>
///// <param name="J_Name">考點名稱</param>
///// <param name="J_GuanLiYuan_DiQuDaiMa">考點所屬的上級地區管理代碼</param>
///// <param name="J_KaoDianDaiMa">考點代碼</param>
///// <param name="J_Shi">所在城市</param>
///// <param name="J_ZuoWeiMoShi">座位模式(1是7887、2是66666、9是其它)</param>
///// <param name="J_KaoDianLeiXing">考點類型</param>
///// <param name="J_JiHuaKaoChangAmout">考場數</param>
//protected void InsertToDB(string J_Name, string J_GuanLiYuan_DiQuDaiMa, string J_KaoDianDaiMa, string J_Shi, string J_ZuoWeiMoShi, string J_KaoDianLeiXing, string J_JiHuaKaoChangAmout)
//{
// if (J_JiHuaKaoChangAmout.Length == 0)
// {
// J_JiHuaKaoChangAmout = "0";
// }
// JiZheZheng_KaoDianInfo _JiZheZheng_KaoDianInfo = new JiZheZheng_KaoDianInfo();
// _JiZheZheng_KaoDianInfo.J_Name = J_Name;
// _JiZheZheng_KaoDianInfo.J_KaoDianDanWei = _JiZheZheng_KaoDianInfo.J_Name;
// _JiZheZheng_KaoDianInfo.J_BuMenSN = 1241;
// _JiZheZheng_KaoDianInfo.J_GuanLiYuan_DiQuDaiMa = J_GuanLiYuan_DiQuDaiMa;
// _JiZheZheng_KaoDianInfo.J_KaoDianDaiMa = J_KaoDianDaiMa;
// _JiZheZheng_KaoDianInfo.J_Shi = J_Shi.Replace("市", "");
// _JiZheZheng_KaoDianInfo.J_ZuoWeiMoShi = J_ZuoWeiMoShi;
// _JiZheZheng_KaoDianInfo.J_KaoDianLeiXing = J_KaoDianLeiXing;
// _JiZheZheng_KaoDianInfo.J_JiHuaKaoChangAmout = Convert.ToInt32(J_JiHuaKaoChangAmout);
// _JiZheZheng_KaoDianInfo.J_Sheng = "湖北";
// _JiZheZheng_KaoDianInfo.J_AddAdminSN = 81;
// _JiZheZheng_KaoDianInfo.J_AddAdmin = "張文岐";
// _JiZheZheng_KaoDianInfo.J_ShenPiZhuangTai = 2;
// _JiZheZheng_KaoDianInfo.J_ShenPiAdmin = "張文岐";
// _JiZheZheng_KaoDianInfo.J_NianFen = MyUser.Info.L_KaoShiNianFen;
// MyJiZheZheng_KaoDian.Add(_JiZheZheng_KaoDianInfo);
// ChengGongCount++;
//}
public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
try
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties=Excel 5.0;";
string strExcel = string.Format("select * from [{0}$]", strSheetName);
DataSet ds = new DataSet();
using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
}
return ds.Tables[strSheetName];
}
catch
{
DataTable ds = new DataTable();
return ds;
}
}
讀取Excel 數據