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

开发 后端
通过下面的代码可以实现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(truecolumn);  
  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#异常类型
责任编辑:冰荷 来源: souzz
相关推荐

2009-08-13 10:15:50

C#读取Excel

2009-08-18 16:14:05

C# 操作Excel

2009-08-13 10:40:15

C#读取Excel

2009-08-13 10:27:28

C#读取Excel数据

2013-02-22 09:54:15

C#Excel读取Excel

2009-08-11 14:32:06

C#读取Excel数据

2009-07-31 18:28:46

实现C#显示图像

2009-08-11 14:36:41

C#读取Excel

2009-08-12 17:19:09

C#读取文件内容

2009-08-07 12:12:00

C#读取Excel文件

2009-08-12 16:26:30

C#读取XML文档

2009-08-12 18:29:06

C#读取TXT文件

2009-09-03 09:44:02

DropDownLisC#递归

2009-08-10 19:03:23

C#读取Excel文件

2009-08-25 11:10:20

C#编程实现显示XML

2009-08-18 15:31:07

C# 操作Excel

2009-08-25 09:19:01

C#实现窗体显示

2009-08-07 13:16:59

C#读取Excel数据c# 读取excel

2009-09-01 13:59:01

C#操作Excel

2009-08-26 09:54:45

C#打印预览C#打印
点赞
收藏

51CTO技术栈公众号