c#讀取Excel並顯示出來,然後存入數據庫.

 
 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    }
發佈了30 篇原創文章 · 獲贊 1 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章