當前位置:首頁 » 參考文獻 » 將excel導入資料庫

將excel導入資料庫

發布時間: 2021-03-25 15:45:24

A. 怎樣把EXCEL表導入access資料庫

1、首先准備好一個要導入Access的文件:

(1)將excel導入資料庫擴展閱讀

Access的用途體現在兩個方面:

一、用來進行數據分析: access有強大的數據處理、統計分析能力,利用access的查詢功能,可以方便地進行各類匯總、平均等統計。並可靈活設置統計的條件。

比如在統計分析上萬條記錄、十幾萬條記錄及以上的數據時速度快且操作方便,這一點是Excel無法與之相比的。 這一點體現在:會用access,提高了工作效率和工作能力。

二、用來開發軟體: access用來開發軟體,比如生產管理、銷售管理、庫存管理等各類企業管理軟體,其最大的優點是:易學!非計算機專業的人員,也能學會。

低成本地滿足了那些從事企業管理工作的人員的管理需要,通過軟體來規范同事、下屬的行為,推行其管理思想。(VB、.net、 C語言等開發工具對於非計算機專業人員來說太難了,而access則很容易)。

這一點體現在:實現了管理人員(非計算機專業畢業)開發出軟體的「夢想」,從而轉型為「懂管理+會編程」的復合型人才。

另外,在開發一些小型網站WEB應用程序時,用來存儲數據。例如ASP+Access。這些應用程序都利用ASP技術在InternetInformation Services運行。比較復雜的WEB應用程序則使用PHP/MySQL或者ASP/Microsoft SQL Server。

ACCESS的用途更多,體現在很多方面:

表格模板。 只需鍵入需要跟蹤的內容,Access 便會使用表格模板提供能夠完成相關任務的應用程序。

Access 可處理欄位、關系和規則的復雜計算,以便您能夠集中精力處理項目。 您將擁有一個全新的應用程序,其中包含能夠立即啟動並運行的自然 UI。

創建和運行舊資料庫。 盡情享用對您的現有桌面資料庫 (ACCDB/MDB) 的支持。

B. 怎樣將excel的數據導入資料庫

1 准備抄Excel導入數據

2 把Excel文件另存為(文本文件(製表符分隔)(*.txt))

3 把新生成的student.txt文件導入到plsql
打開plsql連接到要導入的oracle資料庫再打開Tools --> Text importer... --> Open data file 選擇要導入的txt文件

4 設置導入數據表結構
新生成的表欄位會對應Excel文件第一行標題,但新生成的表欄位Type需要設置,可以設置為nvarchar (導入數據為臨時數據,如果需要可以後期再作類型變換處理)
5 在Data to Oracle Tab中設置導入的表及相應的欄位

C. 把Excel工作表中數據導入資料庫

這是第二次了,市場部那邊又來要求改數據。他們要改的是資料庫某張表中類似商品價格等的數據,需要改的地方又多,我們上次是靠新來的兄弟一個個給Update進去的,這次老大去教了他們Update語句,把煩人的皮球踢給他們了。但這樣一個個更新很明顯不是辦法,我想通過excel直接把數據導入資料庫應該是可行的吧,就開始找方法了。
我想至少有這樣兩種比較容易實現的方法:
1、直接用Sql語句查詢
2、先用excle中的數據生成xml文件,再把xml導入資料庫
第一種方法(方法二以後再試),找到聯機叢書里實現此功能的Sql語句如下:
SELECT* FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="c:Financeaccount.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0')…xactions
語句是有了,但我還是試了很久,因為各個參數具體該怎麼設置它沒有說。Data Source就是excel文件的路徑,這個簡單;UserId、Password和Extended properties這三個屬性我改成了各種各樣的與本機有關的用戶名、密碼以及excel版本都不對,最後用上面例子里的值“User ID=Admin;Password=;Extended properties=Excel 5.0”才成功了,暈啊;最後個“xactions”更是查了很多資料,其實就僅僅是excel文件里所選的工作表名而已,怪我對excel不夠熟悉了,另外注意默認的Sheet1要寫成[Sheet1$]
最後,看看我成功的測試
資料庫里建好一個表testTable_1,有5個欄位id, name, date, money, content,C盤下book1.xls文件的sheet1工作表裡寫好對應的數據並設好數據類型,執行如下插入語句:
insertintotestTable_1([name],[date],[money],[content]) Select[姓名],[日期],[金額],[內容] FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="C:Book1.xls"; UserID=Admin;Password=;Extendedproperties=Excel5.0')…[Sheet1$]
select里的列名我一開始用*代替,但發現輸出順序與我預期的不同,是“金額、內容、日期、姓名”,不知道具體有什麼規律,就老老實實寫名字了。操作成功
回過頭來看看市場部的要求,假設在我這張表裡實現,可以先判斷如excel里存在與記錄相同的name欄位(name要唯一非空)時就刪除記錄,之後再插入,這樣簡單,但自增的id欄位會因為插入而改變,那是不行的了。可行的方法是先讀出excel里全部記錄,然後用游標一條條分析,如果存在這個name就更新否則就插入。OK,下次就不用讓他們再對著文檔一條條Update了

D. 如何將excel中的數據導入到資料庫

如果只是想把
excel
中的用戶信息存到資料庫,則先打開excel,把用戶信息讀出來,保存到資料庫中就可以了
沒有必要把
excel文件保存到資料庫中將excel文件導入到gridview空間中,gridview控制項為雙向綁定,在將gridview中的數據插入資料庫string
path
=
this.mappath("../user.xls");
if(file.exists(path))
{
file.delete(path);
}
//將准備好excel文件拷貝至用戶下載文件夾,再進行寫入
file.(this.mappath("../user.xls"),path);
//然後將excel文件作為數據源進行數據寫入的操作
//在伺服器端載入excel文件
oledbconnection
cn
=
new
oledbconnection("provider=microsoft.jet.oledb.4.0;data
source="+
this.mappath("../user.xls")+";extended
properties=excel
8.0;");
oledbcommand
cmd
=
cn.createcommand();
cmd.commandtext
=
"insert
into
[user$]
values(@a,@b,@b)";
cn.open();
foreach(datagriditem
item
in
this.dgexcel.items)
{
cmd.parameters.clear();
cmd.parameters.add("@a",item.cells[2].text.trim());
cmd.parameters.add("@b",item.cells[1].text.trim());
cmd.parameters.add("@c",item.cells[3].text.trim());
cmd.executenonquery();
}
cn.close();

E. 如何將excel表格導入到資料庫表中

不知你用何種格式的資料庫,下面用access舉個例子;
新建一個空資料庫(或打開已有資料庫文件),在彈出的資料庫對話框中點擊「新建」----導入表---在「導入」對話框中的「導入類型」中選「ms
excel」按路徑找出你要導入的的excel文件,就樣就可以了
如果你要將excel文件導入已有資料庫表中,應注意excel文件的欄位設置與accesss的欄位應一致。

F. java中怎麼把excel導入資料庫

1、加入依賴的jar文件:

引用
*mysql的jar文件
*Spring_HOME/lib/poi/*.jar

2、編寫資料庫鏈接類

packagecom.zzg.db;

importjava.sql.Connection;
importjava.sql.DriverManager;

publicclassDbUtils{
privatestaticConnectionconn;

static{
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/test","root","123456");
}catch(Exceptione){
e.printStackTrace();
}
}

publicstaticConnectiongetConn(){
returnconn;
}

publicstaticvoidsetConn(Connectionconn){
DbUtils.conn=conn;
}
}

3、編寫資料庫操作類

packagecom.zzg.db;

importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.SQLException;

publicclassExcuteData{
privatePreparedStatementpstmt;
publicbooleanExcuData(Stringsql){
Connectionconn=DbUtils.getConn();
booleanflag=false;
try{
pstmt=conn.prepareStatement(sql);
flag=pstmt.execute();
}catch(SQLExceptione){
e.printStackTrace();
}
returnflag;
}
}

4、編寫Excel表格實體類

packagecom.zzg.model;

publicclassTableCell{
privateString_name;
privateString_value;

publicStringget_name(){
return_name;
}

publicvoidset_name(String_name){
this._name=_name;
}

publicStringget_value(){
return_value;
}

publicvoidset_value(String_value){
this._value=_value;
}
}

5、編寫主鍵生成方法

packagecom.zzg.util;

importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.Random;

publicclassGenericUtil{
()
{
StringprimaryKey;
primaryKey=newSimpleDateFormat("yyyyMMddHHmmss").format(newDate());
Randomr=newRandom();
primaryKey+=r.nextInt(100000)+100000;
returnprimaryKey;
}
}

6、編寫Excel操作類

packagecom.zzg.deployData;

importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.Serializable;
importjava.util.ArrayList;
importjava.util.List;
importorg.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.hssf.usermodel.HSSFRow;
importorg.apache.poi.hssf.usermodel.HSSFSheet;
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
importcom.zzg.db.ExcuteData;
importcom.zzg.model.TableCell;
importcom.zzg.util.GenericUtil;

publicclassOperExcel<TextendsSerializable>{
privateHSSFWorkbookworkbook;
privateStringtableName;
privateClass<T>type;
privateStringsheetName;

publicOperExcel(FileexcelFile,StringtableName,Class<T>type,
StringsheetName)throwsFileNotFoundException,
IOException{
workbook=newHSSFWorkbook(newFileInputStream(excelFile));
this.tableName=tableName;
this.type=type;
this.sheetName=sheetName;
InsertData();
}

//向表中寫入數據
publicvoidInsertData(){
System.out.println("yyy");
ExcuteDataexcuteData=newExcuteData();
List<List>datas=getDatasInSheet(this.sheetName);
//向表中添加數據之前先刪除表中數據
StringstrSql="deletefrom"+this.tableName;
excuteData.ExcuData(strSql);
//拼接sql語句
for(inti=1;i<datas.size();i++){
strSql="insertinto"+this.tableName+"(";
Listrow=datas.get(i);
for(shortn=0;n<row.size();n++){
TableCellexcel=(TableCell)row.get(n);
if(n!=row.size()-1)
strSql+=excel.get_name()+",";
else
strSql+=excel.get_name()+")";
}
strSql+="values(";
for(shortn=0;n<row.size();n++){
TableCellexcel=(TableCell)row.get(n);
try{
if(n!=row.size()-1){
strSql+=getTypeChangeValue(excel)+",";
}else
strSql+=getTypeChangeValue(excel)+")";
}catch(RuntimeExceptione){
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}
}
//執行sql
excuteData.ExcuData(strSql);
}
}

/**
*獲得表中的數據
*@paramsheetName表格索引(EXCEL是多表文檔,所以需要輸入表索引號)
*@return由LIST構成的行和表
*/
publicList<List>getDatasInSheet(StringsheetName){
List<List>result=newArrayList<List>();
//獲得指定的表
HSSFSheetsheet=workbook.getSheet(sheetName);
//獲得數據總行數
introwCount=sheet.getLastRowNum();
if(rowCount<1){
returnresult;
}
//逐行讀取數據
for(introwIndex=0;rowIndex<rowCount;rowIndex++){
//獲得行對象
HSSFRowrow=sheet.getRow(rowIndex);
if(row!=null){
List<TableCell>rowData=newArrayList<TableCell>();
//獲得本行中單元格的個數
intcolumnCount=sheet.getRow(0).getLastCellNum();
//獲得本行中各單元格中的數據
for(shortcolumnIndex=0;columnIndex<columnCount;columnIndex++){
HSSFCellcell=row.getCell(columnIndex);
//獲得指定單元格中數據
ObjectcellStr=this.getCellString(cell);
TableCellTableCell=newTableCell();
TableCell.set_name(getCellString(
sheet.getRow(0).getCell(columnIndex)).toString());
TableCell.set_value(cellStr==null?"":cellStr
.toString());
rowData.add(TableCell);
}
result.add(rowData);
}
}
returnresult;
}

/**
*獲得單元格中的內容
*
*@paramcell
*@returnresult
*/
protectedObjectgetCellString(HSSFCellcell){
Objectresult=null;
if(cell!=null){
intcellType=cell.getCellType();
switch(cellType){

caseHSSFCell.CELL_TYPE_STRING:
result=cell.getStringCellValue();
break;
caseHSSFCell.CELL_TYPE_NUMERIC:
result=cell.getNumericCellValue();
break;
caseHSSFCell.CELL_TYPE_FORMULA:
result=cell.getNumericCellValue();
break;
caseHSSFCell.CELL_TYPE_ERROR:
result=null;
break;
caseHSSFCell.CELL_TYPE_BOOLEAN:
result=cell.getBooleanCellValue();
break;
caseHSSFCell.CELL_TYPE_BLANK:
result=null;
break;
}
}
returnresult;
}

//根據類型返回相應的值
@SuppressWarnings("unchecked")
(TableCellexcelElement)
throwsRuntimeException,Exception{
StringcolName=excelElement.get_name();
StringcolValue=excelElement.get_value();
StringretValue="";
if(colName.equals("id")){
retValue="'"+GenericUtil.getPrimaryKey()+"'";
returnretValue;
}
if(colName==null){
retValue=null;
}
if(colName.equals("class_createuser")){
retValue="yaa101";
return"'"+retValue+"'";
}
retValue="'"+colValue+"'";
returnretValue;
}
}

7、編寫調用操作Excel類的方法

packagecom.zzg.deployData;

importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.IOException;

publicclassDeployData{
privateFilefileOut;

publicvoidexcute(Stringfilepath){
fileOut=newFile(filepath);
this.deployUserInfoData();
}

publicvoiddeployUserInfoData(){
try{
newOperExcel(fileOut,"test",Object.class,"Sheet1");
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

8、編寫客戶端

packagecom.zzg.client;

importcom.zzg.deployData.DeployData;

publicclassDeployClient{
publicstaticvoidmain(String[]args){
DeployDatadeployData=newDeployData();
deployData.excute("D://test.xls");
}
}

G. 怎麼把excel文件里的數據導入SQL資料庫

導入數據不一定要用OPENSET函數,可以用更簡單的方法,步驟如下:

1、首先雙擊打開sqlserver,右擊需要導入數據的資料庫,如圖所示。

(7)將excel導入資料庫擴展閱讀:

導入數據也可使用OPENROWSET函數,但使用該函數之前必須先啟用Ad Hoc Distributed Queries服務,因為這個服務不安全所以SqlServer默認是關閉的,系統管理員可以通過使用sp_configure 啟用 'Ad Hoc Distributed Queries'。

但有一個問題一定要特別注意,由於'Ad Hoc Distributed Queries'這個服務存在著較大的安全隱患,所以切記使用完畢之後一定要關閉。

所以,如果是導入數據建議不要使用OPENROWSET函數,弊大於利。

H. 怎麼把excel里的數據導入資料庫中的表中

打開企業管理器,打開要導入數據的資料庫,在表上按右鍵,所有任務-->導入數據,彈出DTS導入/導出向導,按 下一步 , 2、選擇數據源 Microsoft Excel 97-2000,文件名 選擇要導入的xls文件,按 下一步 , 3、選擇目的 用於SQL Server 的Microsoft OLE DB提供程序,伺服器選擇本地(如果是本地資料庫的話,如 VVV),使用SQL Server身份驗證,用戶名sa,密碼為空,資料庫選擇要導入數據的資料庫(如 client),按 下一步 , 4、選擇 用一條查詢指定要傳輸的數據,按 下一步 , 5、按 查詢生成器,在源表列表中,有要導入的xls文件的列,將各列加入到右邊的 選中的列 列表中,這一步一定要注意,加入列的順序一定要與資料庫中欄位定義的順序相同,否則將會出錯,按 下一步 , 6、選擇要對數據進行排列的順序,在這一步中選擇的列就是在查詢語

I. 我想把excel表格導入到資料庫,具體資料庫怎麼設置

1、打開要導入的Excel文件,觀察第一列是為欄位還是數據。

2、打開SQLServer,在需要導入的數據點擊右鍵 【任務版】-【導入數權據】
出現導入導出向導。

3、點擊下一步 ,進入【選擇數據源】頁面,注意紅框設置。

4、點擊下一步 ,進入【選擇目標】頁面,注意紅框設置。

5、點擊下一步 ,進入【指定表復制或查詢】頁面,注意紅框設置。

6、點擊下一步 ,進入【選擇源表和源視圖】頁面,注意紅框設置。

7、下一步,直到完成。出現【執行結果頁面】。

8、最後在SqlServer查詢表。

J. 怎樣把excel的數據導入到資料庫裡面去

1 准備Excel導入數據

2 把Excel文件另存為(文本文件(製表符分隔)(*.txt))

3 把新生成的student.txt文件導入專到plsql
打開plsql連接到要導入的oracle資料庫再打屬開Tools --> Text importer... --> Open data file 選擇要導入的txt文件

4 設置導入數據表結構
新生成的表欄位會對應Excel文件第一行標題,但新生成的表欄位Type需要設置,可以設置為nvarchar (導入數據為臨時數據,如果需要可以後期再作類型變換處理)
5 在Data to Oracle Tab中設置導入的表及相應的欄位

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731