『壹』 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表的數據格式的,最大可能性是數字和時間欄位,你要好好查查數字如果你的表格對應的是空格,時間格式不正確,都會出這錯。