将Excel表中的数据导入到数据库

网上查到的有参考价值的就一家,自己调试发现可行。感谢原创文章:将Excel中数据导入数据库(一)

  1   1 using System;
  2   2 using System.Collections.Generic;
  3   3 using System.Linq;
  4   4 using System.Web;
  5   5 //using System.Web.UI;
  6   6 //using System.Web.UI.WebControls;
  7   7 using System.Data;
  8   8 using System.Data.OleDb;
  9   9 using System.Configuration;
 10  10 using System.Data.SqlClient;
 11  11  namespace ConsoleApplication1
 12  12 {
 13  13     class FileSvr
 14  14     {
 15  15         /// <summary>
 16  16         /// 应用程序的主入口点。
 17  17         /// </summary>
 18  18         [STAThread]
 19  19         static void Main(string[] args)
 20  20         {
 21  21             FileSvr fileSvr = new FileSvr();
 22  22             System.Data.DataTable dt = fileSvr.GetExcelDatatable("F:\\ExcelToDB1.xls", "mapTable");
 23  23             int count = fileSvr.InsetData(dt);
 24  24             Console.WriteLine(count);
 25  25         }
 26  26
 27  27         /// <summary>
 28  28         /// Excel数据导入Datable
 29  29         /// </summary>
 30  30         /// <param name="fileUrl"></param>
 31  31         /// <param name="table"></param>
 32  32         /// <returns></returns>
 33  33         public System.Data.DataTable GetExcelDatatable(string fileUrl, string table)
 34  34         {
 35  35             //office2007之前 仅支持.xls
 36  36             const string cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=‘Excel 8.0;IMEX=1‘;";
 37  37             ////支持.xls和.xlsx,即包括office2010等版本的   HDR=Yes代表第一行是标题,不是数据;
 38  38             //const string cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties=‘Excel 12.0; HDR=Yes; IMEX=1‘";
 39  39              System.Data.DataTable dt = null;
 40  40             //建立连接
 41  41             OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));
 42  42             try
 43  43             {
 44  44                 //打开连接
 45  45                 if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)
 46  46                 {
 47  47                     conn.Open();
 48  48                 }
 49  49
 50  50                 System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
 51  51                  //获取Excel的第一个Sheet名称
 52  52                 string sheetName = schemaTable.Rows[0]["TABLE_NAME"].ToString().Trim();
 53  53                  //查询sheet中的数据
 54  54                 string strSql = "select * from [" + sheetName + "]";
 55  55                 OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
 56  56                 DataSet ds = new DataSet();
 57  57                 da.Fill(ds, table);
 58  58                 dt = ds.Tables[0];
 59  59                  return dt;
 60  60             }
 61  61             catch (Exception exc)
 62  62             {
 63  63                 throw exc;
 64  64             }
 65  65             finally
 66  66             {
 67  67                 conn.Close();
 68  68                 conn.Dispose();
 69  69             }
 70  70          }
 71  71          /// <summary>
 72  72         /// 从System.Data.DataTable导入数据到数据库
 73  73         /// </summary>
 74  74         /// <param name="dt"></param>
 75  75         /// <returns></returns>
 76  76         public int InsetData(System.Data.DataTable dt)
 77  77         {
 78  78             int i = 0;
 79  79             string words = "";
 80  80             string wordKind = "";
 81  81             string fellingkind = "";
 82  82             string power = "";
 83  83             string polar = "";
 84  84             string assistfellingkind = "";
 85  85             string assistpower = "";
 86  86             string assistpolar = "";
 87  87              foreach (DataRow dr in dt.Rows)
 88  88             {
 89  89                 words = dr["Words"].ToString().Trim();
 90  90                 wordKind = dr["wordKind"].ToString().Trim();
 91  91                 fellingkind = dr["fellingkind"].ToString().Trim();
 92  92                 power = dr["power"].ToString().Trim();
 93  93                 polar = dr["polar"].ToString().Trim();
 94  94                 assistfellingkind = dr["assistfellingkind"].ToString().Trim();
 95  95                 assistpower = dr["assistpower"].ToString().Trim();
 96  96                 assistpolar = dr["assistpolar"].ToString().Trim();
 97  97                  //sw = string.IsNullOrEmpty(sw) ? "null" : sw;
 98  98                 //kr = string.IsNullOrEmpty(kr) ? "null" : kr;
 99  99                 string strSql = string.Format("Insert into tb_MyFellingWords (Words,wordKind,fellingkind,power,polar,assistfellingkind,assistpower,assistpolar) Values (‘{0}‘,‘{1}‘,‘{2}‘,‘{3}‘,‘{4}‘,‘{5}‘,‘{6}‘,‘{7}‘)", words, wordKind, fellingkind, power, polar, assistfellingkind, assistpower, assistpolar);
100 100
101 101
102 102             //连接帐套数据库, 要跟据帐套参数定义创建连接字符串
103 103                 string sConn = "Server={0};Database={1};User ID={2};Password={3};Connection TimeOut=180;";
104 104                 sConn = String.Format(sConn,
105 105                     "20120906-1046",
106 106                     "CSFramework3.Test",
107 107                     "sa",
108 108                     "sa");
109 109                 SqlConnection sqlConnection = new SqlConnection(sConn);
110 110                 try
111 111                 {
112 112                     // SqlConnection sqlConnection = new SqlConnection(strConnection);
113 113                     sqlConnection.Open();
114 114                     SqlCommand sqlCmd = new SqlCommand();
115 115                     sqlCmd.CommandText = strSql;
116 116                     sqlCmd.Connection = sqlConnection;
117 117                     SqlDataReader sqlDataReader = sqlCmd.ExecuteReader();
118 118                     i++;
119 119                     Console.WriteLine(i);
120 120                     sqlDataReader.Close();
121 121                 }
122 122                 catch (Exception ex)
123 123                 {
124 124                     throw ex;
125 125                 }
126 126                 finally
127 127                 {
128 128                     sqlConnection.Close();
129 129                  }
130 130                 //if (opdb.ExcSQL(strSql))
131 131                 //    i++;
132 132             }
133 133             return i;
134 134         }
135 135     }
136 136 }
137 137  
时间: 2024-10-06 23:34:37

将Excel表中的数据导入到数据库的相关文章

通过Navicat将Excel表中的数据导入到数据库

Navicat.Excel 1)首先创建测试表“student”,表结构为: 2)然后准备编写好的Excel数据表: 3)在Navicat选择student表,右键“导入向导”,弹出如下窗口,我们选择“Excel”: 4)点击“下一步”,“导入从”选择刚刚建好的Excel表,点击“下一步”,弹出如下窗口,这里注意选择好对应的“Sheet”: 5)点击“下一步”,进行一些设置: 6)点击“下一步”,选择已有的表还是新建表: 7)点击“下一步”,对应数据库中student表和excel表的栏位: 8

把一个表中的数据导入到另一个表中

最近,需要对表中的数据进行操作.或者将表中的数据导入到另一张表中,或者将表中的数据生成insert脚本. 假如目标表存在 INSERT INTO 目标表名称 SELECT * FROM 来源表 假如目标表不存在 select * into 目标表名称 from 来源表 直接生成insert语句 select 'insert into 目标表 (字段1,字段2) values ('''+字段1+''','''+字段2+''');' sql_str from 目标表;

在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题

原文:在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\KK.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 问题: 消息 15281,级别 16,状态 1,第 1 行 SQL Server 阻止了对组件 'Ad Hoc Di

[Python]将Excel文件中的数据导入MySQL

Github Link 需求 现有2000+文件夹,每个文件夹下有若干excel文件,现在要将这些excel文件中的数据导入mysql. 每个excel文件的第一行是无效数据. 除了excel文件中已有的数据,还要添加一列,名为“at_company”,值为821. 流程 (1)获取excel文件列表,并根据excel文件名确定之后需要创建的table名: (2)连接mysql (3)创建table (4)插入数据 (5)断开连接 依赖模块 1. xlrd # to read excel fil

如何把Excel中的数据导入到数据库

NPOI: using NPOI.HSSF.UserModel; using NPOI.SS.Formula.Eval; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.Data; using System.IO; namespace ZZAS.HNYZ.GPSInstallManage.Common { public class ExcelHelper : IDisposable {

excel表格中的数据如何放到数据库中(非导入)

平时经常用到excel中的数据,想比较两个excel数据的关联性,数据太多,所以放到数据库中,用脚本查询就会比较方便.这里说一下怎么放到数据库中并查询对比. 这里以PL/SQL为例. 需求:有两张表,其中每个表中有一列与另一表的列相同,如何让他们一一对应.如图两个excel 第二张 红框内的数据为相等的数据,现在想查看一一对应关系 方法是: 1.在数据库中建表asad_t1 对应excel1,并多出一个字段,表2asad_t2对应excel2 2.将excel1中数据复制,在plsql中执行se

把excel中的数据导入到数据库中的通用方法

方法/步骤 对于把大量数据存放到数据库中,最好是用图形化数据库管理工具,可是如果没有了工具,只能执行命令的话这会是很费时间的事.那我们只能对数据进行组合,把数据组成insert语句然后在命令行中批量直行即可.   我们对下面数据进行组合,这用到excel中的一个功能. 在excel中有个fx的输入框,在这里把组好的字符串填上去就好了. 注:字符串1 & A2 &字符串2 & ... A2可以直接输入,也可以用鼠标点对应的单元格.   每个字符串之间用 & 符号进行连接.下面

从excel表中导出数据

File file = new File(excelFileName);// excelFileName:文件地址 InputStream stream; Workbook rwb = null; Cell cell = null; Sheet sheet = null; try { stream = FawenPlugin.class.getResourceAsStream("发文表.xls"); // stream = new FileInputStream(file); rwb

SpringMVC框架简单实现上传Excel文件,并将Excel中的数据导入mySQL数据库

第一步 配置DispathcherServlet文件 第二步 配置applicationContext文件 第三步 在index.jsp中 第四步 在HelloSpringmvc.java中写入方法 第五步:与数据库进行连接 第六步 mySQL实体类 第七步 操作excel表 第八步 Dao文件 第九步 测试