当前位置:首页 » 编程语言 » excel导入sql出错
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

excel导入sql出错

发布时间: 2022-05-26 03:35:18

‘壹’ EXCEL导入sql的数据都不能修改

摘要 将excel表中的数据导入数据库已有表时,首先新建表中的列必须与excel中的列数要一致;然后在选择工作表1,2,3时,同时在最右边对应位置找到已建好的表选中即可。

‘贰’ 求助:excel数据导入SQL数据库,出现问题

将EXCEL中的数据导入到数据库需要引用:using System.Data.OleDb;
using System.Data;
我给你提供两种方法。你新建一个类,然后将这两个方法粘贴在类中!你去调用就行了!其实很简单。要学会总结!
方法1、读取Excel表中的内容,将被读取的Excel表转化为一个DataTable!
思路:转化成DataTable以后,循环遍历Datatable,然后插入数据库!这个很简单,不需要说明!
下面就看看这个方法:
/// <summary>
/// 用提供的函数,执行SQL命令,返回一个从指定的Excel文件中读取的内容的数据集中的数据表
/// </summary>
/// <remarks>
/// 例如:
/// OleDbConnection conn1 = new OleDbConnection(strConn);OleDbDataAdapter da1 = new OleDbDataAdapter(sql, strConn);
/// </remarks>
/// <param name="OleDbConnection">OleDbConnection有效的Excel连接字符串</param>
/// <param name="path">Excel文件的本地物理路径</param>
/// <returns>System.Data.DataTable 返回数据库数据表</returns>
// path Excel文件物理路径 sql = "select * from [文体用品$]";
public static System.Data.DataTable DataToBase(string path, string sql)
{
System.Data.DataTable dt = new System.Data.DataTable();
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + "; Extended Properties=Excel 8.0;";
OleDbConnection conn1 = new OleDbConnection(strConn);
OleDbDataAdapter da1 = new OleDbDataAdapter(sql, strConn);
DataSet ds = new DataSet();
if (conn1.State == ConnectionState.Closed)
{
conn1.Open();
}
try
{
da1.Fill(ds, "tablename");
if (ds.Tables[0].Rows.Count != 0)
{
dt = ds.Tables[0];
}
else
{
dt = null;
}
}
catch
{
dt = null;
}
finally
{
conn1.Close();
}
return dt;
}

方法二:将数据库中的内容导出至Excel
方法如下:不做说明!
///<summary>
///用于将:从数据库中读取的内容导入到相应的本地Excel文件中
///</summary>
///<remarks>
/// string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pth + "; Extended Properties=Excel 8.0;";OleDbConnection conn = new OleDbConnection(strConn);
///</remarks>
///<param name="dt">dt是指读取数据库返回的数据表</param>
///<param name="sql">向Excel文件中插入,即:sql="insert into[Sheet1$](name,sex) values(dt.Rows[i][0],dt.Rows[i][1])"</param>
///<param name="pth">pth代表本地Excel路径</param>
///<returns>返回布尔值,为真时代表:数据导入Excel文件成功。否则:失败。</returns>
public static bool dataToExcel(string pth, string sql)
{
bool bol = false;
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pth + "; Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
try
{
conn.Open();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
bol = true;
}
catch
{
bol = false;
}
finally
{
conn.Close();
}
return bol;
}

‘叁’ 将Excel中的数据导入到SQL Server2000数据库中发生格式错误。

首先设置好excel表格中每一列的格式,再检查每列每个单元格是不是格式都是统一的了,必须与数据库中的格式一致。如果有个别单元格格式不对还是会出错。

‘肆’ EXCEL导入数据到SQL报错,怎么办

首先,第一张图的意思是导入的数据长度大于数据库设计时的长度。如果excel数据是符合要求的,那么就需要修改数据库字段长度。
其次,第二张图的意思是excel数据关键字段有重复的。
产生的原因可能是因为第一条错误导致数据阶段,从而造成重复问题的出现。如蓝色秋衣,蓝色秋裤,都被截断成蓝色,原本不同,现在重复了。
第二种可能的原因,在假设数据导入时,没有发生截断,则excel中关键字段确实存着重复数据。需使用excel去除重复项功能进行处理后,再导入数据库。

‘伍’ 在把Excel导入SQL server时出现“未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 ”该怎么办

下面是解决把Excel导入SQL server时,出现“未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 ”的具体解决方法:

材料/工具:电脑、AccessDatabaseEngine软件

1、首先,我们需要找到电脑中的“AccessDatabaseEngine”安装程序。

‘陆’ EXCEL导入SQL2000出错 20分

就是因为没有数据所以导入SQL时才出错,
那么删除空行,再导入试试。
如果34707行是最后一行,那么将34707行以后所有空行都删除,保存后再试试导入,
如果上面的方法还不行,就新建一个文件,将数据复制到新文件中,再导入SQL,注意:复制数据时不要全选,只须复制数据即可,否则会将有问题的空行也复制过去了。

‘柒’ excel 导入 sql数据库 错误如下:返回列状态:文本被截断,或者一个或多个字符在目标代码页中没有匹配项。

今天我也出现这个问题,解决方法:

1、首先要确认目标数据表定段的字段长度比数据长;

2、最关键的一步,在下面那个图选择数据源的时候,对列的长度时行设置。设置成目标字段一样长就可以了。

‘捌’ excel数据导入sql中的问题。

大概是excel表的数据有些不规范,与sql中的定义不匹配。最好先在excel表中,检查一下数据是否都规范,纠正后再导入。

‘玖’ Excel表导入到sql中遇到的问题

Excel导入SQL会有这样的问题,当某一列的数字多于字符时,SQL会把这一列设置为数字(float,int)的字段,所以你要手动设置成varchar类型才能正常导入。或者通过在原Excel表对应字段增加字符,使字符的个数多于数字,就能以字符导入了。

提示为空说明数据没有导入进去,认真检查SQL的数据类型,检查Excel数据是否带空格。主要就是一个数据类型是否相符的问题,类型对应好了没有不行的

‘拾’ 把excel导入到数据库SQL的时候遇到的问题,怎么办

你的EXCEL中的内容格式,是要对应SQL表的数据格式的,最大可能性是数字和时间字段,你要好好查查数字如果你的表格对应的是空格,时间格式不正确,都会出这错。