protected void Page_Load(object sender, EventArgs e)
3 {
4 DataSet ds = ImportExcel(Server.MapPath("ExcelFile/供應商違約扣款.xls"));
5 GridView1.DataSource = ds.Tables["ExcelInfo"].DefaultView;
6 GridView1.DataBind();
7
8 ToDataBase(ds);
9 }
10
11 private DataSet ImportExcel(string strFileName)
12 {
13 if (strFileName == "") return null;
14 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
15 "Data Source=" + strFileName + ";" +
16 "Extended Properties=Excel 8.0;";
17 OleDbDataAdapter ExcelDA = new OleDbDataAdapter("SELECT trim(供應商) as 供應商,零件名稱,型號,批量,下線數,下線率,不合格原因,考覈原因,考覈金額 FROM [Sheet1$]", strConn);
18 DataSet ExcelDs = new DataSet();
19 try
20 {
21 ExcelDA.Fill(ExcelDs, "ExcelInfo");
22
23 }
24 catch (Exception err)
25 {
26 System.Console.WriteLine(err.ToString());
27 }
28 return ExcelDs;
29 }
30
31
32 private bool ToDataBase(DataSet ds)
33 {
34 DataTable dtSupplier = new DataTable("dtSupplier");
35
36
37 DataView dv = ds.Tables[0].DefaultView;
38
39 string[] column = { "供應商" };
40 dtSupplier = dv.ToTable(true, column);
41
42 for (int i = 0; i < dtSupplier.Rows.Count; i++)
43 {
44
45 DataRow[] r = ds.Tables[0].Select("供應商='" + dtSupplier.Rows[i]["供應商"].ToString() + "'");
46
47 //插父表
48
49 for (int j = 0; j < r.Length; j++)
50 {
51 string ItemName = r[j]["零件名稱"].ToString();
52 string scale = r[j]["型號"].ToString();
53 string batch = r[j]["批量"].ToString();
54 string downLine = r[j]["下線數"].ToString();
55 string downPercent = r[j]["下線率"].ToString();
56 string outReason = r[j]["不合格原因"].ToString();
57 string reason = r[j]["考覈原因"].ToString();
58 string amt = r[j]["考覈金額"].ToString();
59
60 //插子表
61 }
62
63 //save
64 }
65 return true;
66 }
3 {
4 DataSet ds = ImportExcel(Server.MapPath("ExcelFile/供應商違約扣款.xls"));
5 GridView1.DataSource = ds.Tables["ExcelInfo"].DefaultView;
6 GridView1.DataBind();
7
8 ToDataBase(ds);
9 }
10
11 private DataSet ImportExcel(string strFileName)
12 {
13 if (strFileName == "") return null;
14 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
15 "Data Source=" + strFileName + ";" +
16 "Extended Properties=Excel 8.0;";
17 OleDbDataAdapter ExcelDA = new OleDbDataAdapter("SELECT trim(供應商) as 供應商,零件名稱,型號,批量,下線數,下線率,不合格原因,考覈原因,考覈金額 FROM [Sheet1$]", strConn);
18 DataSet ExcelDs = new DataSet();
19 try
20 {
21 ExcelDA.Fill(ExcelDs, "ExcelInfo");
22
23 }
24 catch (Exception err)
25 {
26 System.Console.WriteLine(err.ToString());
27 }
28 return ExcelDs;
29 }
30
31
32 private bool ToDataBase(DataSet ds)
33 {
34 DataTable dtSupplier = new DataTable("dtSupplier");
35
36
37 DataView dv = ds.Tables[0].DefaultView;
38
39 string[] column = { "供應商" };
40 dtSupplier = dv.ToTable(true, column);
41
42 for (int i = 0; i < dtSupplier.Rows.Count; i++)
43 {
44
45 DataRow[] r = ds.Tables[0].Select("供應商='" + dtSupplier.Rows[i]["供應商"].ToString() + "'");
46
47 //插父表
48
49 for (int j = 0; j < r.Length; j++)
50 {
51 string ItemName = r[j]["零件名稱"].ToString();
52 string scale = r[j]["型號"].ToString();
53 string batch = r[j]["批量"].ToString();
54 string downLine = r[j]["下線數"].ToString();
55 string downPercent = r[j]["下線率"].ToString();
56 string outReason = r[j]["不合格原因"].ToString();
57 string reason = r[j]["考覈原因"].ToString();
58 string amt = r[j]["考覈金額"].ToString();
59
60 //插子表
61 }
62
63 //save
64 }
65 return true;
66 }