C#读取Excel及显示和存储的实现

直接C#读取Excel,然后对"供应商" select distinct,然后分别对每个供应商做表.

C#读取Excel的代码如下:

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

【编辑推荐】

  1. C# WebService发布与调用浅析
  2. 简明教程 C# Webservice实例
  3. C#中定义装箱和拆箱详解
  4. 浅谈C#类型系统
  5. 三种不同的C#异常类型

标题名称:C#读取Excel及显示和存储的实现
网页路径:http://www.csdahua.cn/qtweb/news46/431646.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网