直接从Excel中读取出来,然后对"供应商" select distinct,然后分别对每个供应商做表.$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
代码如下:$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
1$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
2    protected void Page_Load(object sender, EventArgs e)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
3    {$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
4        DataSet ds = ImportExcel(Server.MapPath("ExcelFile/供应商违约扣款.xls"));$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
5        GridView1.DataSource = ds.Tables["ExcelInfo"].DefaultView;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
6        GridView1.DataBind();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
7$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
8        ToDataBase(ds);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
9    }$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
10$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
11    private DataSet ImportExcel(string strFileName)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
12    {$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
13        if (strFileName == "") return null;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
14        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
15            "Data Source=" + strFileName + ";" +$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
16            "Extended Properties=Excel 8.0;";$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
17        OleDbDataAdapter ExcelDA = new OleDbDataAdapter("SELECT trim(供应商) as 供应商,零件名称,型号,批量,下线数,下线率,不合格原因,考核原因,考核金额  FROM [Sheet1$]", strConn);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
18        DataSet ExcelDs = new DataSet();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
19        try$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
20        {$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
21            ExcelDA.Fill(ExcelDs, "ExcelInfo");$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
22$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
23        }$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
24        catch (Exception err)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
25        {$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
26            System.Console.WriteLine(err.ToString());$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
27        }$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
28        return ExcelDs;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
29    }$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
30$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
31$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
32    private bool ToDataBase(DataSet ds)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
33    {$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
34        DataTable dtSupplier = new DataTable("dtSupplier");$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
35$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
36$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
37        DataView dv = ds.Tables[0].DefaultView;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
38$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
39        string[] column = { "供应商" };$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
40        dtSupplier = dv.ToTable(true, column);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
41$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
42        for (int i = 0; i < dtSupplier.Rows.Count; i++)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
43        {$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
44$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
45            DataRow[] r = ds.Tables[0].Select("供应商='" + dtSupplier.Rows["供应商"].ToString() + "'");$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
46$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
47            //插父表$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
48$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
49            for (int j = 0; j < r.Length; j++)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
50            {$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
51                string ItemName = r[j]["零件名称"].ToString();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
52                string scale = r[j]["型号"].ToString();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
53                string batch = r[j]["批量"].ToString();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
54                string downLine = r[j]["下线数"].ToString();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
55                string downPercent = r[j]["下线率"].ToString();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
56                string outReason = r[j]["不合格原因"].ToString();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
57                string reason = r[j]["考核原因"].ToString();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
58                string amt = r[j]["考核金额"].ToString();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
59$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
60                //插子表$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
61            }$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
62$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
63            //save$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
64        }$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
65        return true;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
66    }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf