导入Excel表里的数据时产生【定义了过多字段】,但有时又是成功的

filePath = @"d:\users.xls"; 
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; 
                    //选择Excel文件中的一个sheet,比如叫“EmployeeInfo”: 
                    string strSheetName = "sheet1"; 
                    string strExcel = "select * from  [" + strSheetName + "$] "; 
                    //打开连接,读取Excel文件中数据到Dataset中,然后关闭连接: 
                    OleDbConnection conn = new OleDbConnection(strConn); 
                    conn.Open(); 
                    OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn); 
                    DataSet ds = new DataSet(); 
                    adapter.Fill(ds, "data"); 
                    conn.Close(); 

以上代码有时能执行成功,有时又会报: 
【 
定义了过多字段。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.OleDb.OleDbException: 定义了过多字段。 

源错误: 


行 180:                    OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn); 
行 181:                    DataSet ds = new DataSet(); 
行 182:                    adapter.Fill(ds, "data"); 
行 183:                    conn.Close(); 
行 184:                    SqlCommand command = null; 
】 


分析:一般来说是sheet表有问题,我刚遇到过这种问题,但不知道具体原因   

   表从某列到某列可能有问题,一般是最后的几列,你没用的列全选,然后删除,注意一般界面上没有什

   么变化,但我们已经删除没用的多出来的列删除了。保存Excel。一般就可

   以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Excel表格的数据导入MySQL数据库表中,可以按照以下步骤操作: 1. 在MySQL数据库中创建一个新的表,确保表的结构与Excel表格中的数据对应。 2. 使用适当的编程语言,如Python,连接到MySQL数据库。 3. 使用合适的库,如pandas和mysql-connector-python,在Python中读取Excel表格的数据。 4. 将Excel表格的数据转换为一个数据集,如DataFrame对象。 5. 遍历数据集,并使用INSERT语句将每条数据插入到MySQL数据库表中。 下面是一个示例代码,演示了如何使用Python将Excel表格的数据导入MySQL数据库表中: ```python import pandas as pd import mysql.connector # 连接到MySQL数据库 conn = mysql.connector.connect(host='localhost', user='your_username', password='your_password', database='your_database') cursor = conn.cursor() # 读取Excel表格数据 df = pd.read_excel('your_excel_file.xlsx') # 遍历数据集并插入到MySQL数据库表中 for index, row in df.iterrows(): sql = "INSERT INTO your_table (column1, column2, ...) VALUES (%s, %s, ...)" values = (row['column1'], row['column2'], ...) cursor.execute(sql, values) # 提交更改并关闭连接 conn.commit() cursor.close() conn.close() ``` 在上面的代码中,你需要替换以下内容: - 'your_username':你的MySQL用户名 - 'your_password':你的MySQL密码 - 'your_database':你的MySQL数据库名 - 'your_excel_file.xlsx':你的Excel文件路径 - 'your_table':你要将数据插入的MySQL表名 - 'column1', 'column2', ...:你的MySQL表的列名,与Excel表格的列对应 确保在运行代码之前,你已经安装好了pandas和mysql-connector-python库。你可以使用pip命令来安装它们: ``` pip install pandas pip install mysql-connector-python ``` 这样,你就可以将Excel表格的数据导入MySQL数据库表中了。记得根据你的实际情况修改代码中的相关参数和内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值