CSV文件導(dǎo)入到數(shù)據(jù)_第1頁(yè)
CSV文件導(dǎo)入到數(shù)據(jù)_第2頁(yè)
CSV文件導(dǎo)入到數(shù)據(jù)_第3頁(yè)
CSV文件導(dǎo)入到數(shù)據(jù)_第4頁(yè)
CSV文件導(dǎo)入到數(shù)據(jù)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data;usingSystem.Data.OleDb;usingSystem.Data.Sql;usingSystem.Data.SqlClient;usingSystem.IO;namespaceHPRSP.CommonDataObjectpublicclassCSVHelperprivatestringpath;privatestringfileName;/Z構(gòu)造函數(shù)/publicCSVHelper(stringfilePath,stringf

2、ileName)this.path=filePath;this.fileName=fileName;/從Csv中讀取數(shù)據(jù)/publicDataTableRead()returnRead(null);/通過(guò)文件流的方式來(lái)讀取CSV文件,默認(rèn)第一列為標(biāo)題列,列之間用逗號(hào)分隔/publicDataTableReadCsvFileToTable()returnReadCsvFileToTable(true,);/通過(guò)文件流的方式來(lái)讀取CSV文件,默認(rèn)列之間用逗號(hào)分隔/paramname=files0件名稱/param/paramname=HeadYes第一行是否為列標(biāo)題/param/returns/r

3、eturnspublicDataTableReadCsvFileToTable(boolHeadYes)returnReadCsvFileToTable(HeadYes,);/summary/通過(guò)文件流的方式來(lái)讀取CSV文件/paramname=files文件名稱/param/paramname=HeadYes第一行是否為列標(biāo)題/param/paramname=span分隔符/param/returns/returnspublicDataTableReadCsvFileToTable(boolHeadYes,charspan)/文件路徑和文件名stringfiles=path+fileName

4、;DataTabledt=newDataTable();StreamReaderfileReader=newStreamReader(files,Encoding.Default);try/是否為第一行(如果HeadYesDTRUE,則第一行為標(biāo)題行)intlsi=0;/列之間的分隔符charcv=span;while(fileReader.EndOfStream=false)stringline=fileReader.ReadLine();stringy=line.Split(cv);/第一行為標(biāo)題行if(HeadYes=true)/第一行if(lsi=0)for(inti=0;iy.Len

5、gth;i+)dt.Columns.Add(yi.Trim().ToString();lsi+;/從第二列開(kāi)始為數(shù)據(jù)列elseDataRowdr=dt.NewRow();for(inti=0;iy.Length;i+)dri=yi.Trim();dt.Rows.Add(dr);/第一行不為標(biāo)題行elseif(lsi=0)for(inti=0;iy.Length;i+)dt.Columns.Add(Col+i.ToString();lsi+;DataRowdr=dt.NewRow();for(inti=0;iy.Length;i+)dri=yi.Trim();dt.Rows.Add(dr);ca

6、tch(Exceptionex)throwex;finallyfileReader.Close();fileReader.Dispose();returndt;/從CSV中讀取數(shù)據(jù)/paramname=colNames名列表,可為空/param/priVateDataTableRead(stringcolNames)stringsql=CreateSql(colNames);returnExecuteTable(sql);/summary/通過(guò)執(zhí)行sql語(yǔ)句,從Csv中讀取數(shù)據(jù)/summary/paramname=sqlsql語(yǔ)句/param/returns/returnsprivateDat

7、aTableExecuteTable(stringsql)DataTabletable=newDataTable();using(OleDbConnectionconnection=newOleDbConnection(GetConnString(true)OleDbCommandcommand=connection.CreateCommand();command.CommandText=sql;OleDbDataAdapteradapter=newOleDbDataAdapter(command);adapter.Fill(table);returntable;#region私有方法priv

8、atestringCreateSql(stringcolNames)stringcols=*;if(null!=colNames&colNames.Length0)StringBuildercolList=newStringBuilder();for(inti=0;icolNames.Length-1;i+)colList.AppendFormat(0,colNamesi);colList.AppendFormat(0,colListcolList.Length);cols=colList.ToString();returnstring.Format(select0from1,cols,fil

9、eName);privatestringGetConnString(boolIsHeaderRow)returnstring.Format(Provider=Microsoft.Jet.OLEDB.4.0;ExtendedProperties=Text;FMT=Delimited;HDR=0;datasource=1,IsHeaderRow?Yes:No,path);#endregion在D:VSS2005政務(wù)HPRSP_黃埔海關(guān)風(fēng)險(xiǎn)管理平臺(tái)源代碼CommonDataObject下增加了CSV文件導(dǎo)入數(shù)據(jù)庫(kù)的操作類:CSVHelper.cs.用法很簡(jiǎn)單,只要傳入CSV文件的文件路徑和文件名就行

10、。下面是一個(gè)例子:stringconn=ConfigurationManager.ConnectionStringsHPRSP.ToString();/獲取并保存上傳的文件if(fuUpload.PostedFile!=null)fuUpload.PostedFile.SaveAs(Server.MapPath()+fuUpload.FileName);else!);/thrownewException(請(qǐng)選擇需上傳的文件!);/構(gòu)造函數(shù)中傳入文件路徑和文件名HPRSP.CommonDataObject.CSVHelperCsvFile=newHPRSP.CommonDataObject.CS

11、VHelper(Server.MapPath()+,fuUpload.FileName)/調(diào)用Read()方法讀取文件,具體的實(shí)現(xiàn)過(guò)程請(qǐng)查看類:CSVHelper.csDataTabledt=CsvFile.Read();foreach(DataRowdrindt.Rows)stringStoreName=uspZFPG_INDEX_UPDATE;ParamCollectionparmsInsert=newParamCollection(下面/下面內(nèi)為列名,即第一行對(duì)應(yīng)的列名下面如下圖的測(cè)試數(shù)據(jù)nrAECDE11關(guān)瓦,指標(biāo)ID目標(biāo)值完咸值是習(xí)達(dá)標(biāo)f10001009003100022001200

12、4100031002001/,dr關(guān)區(qū)parmsInsertAdd(newParam(CustomsCode,ToString(),ParamType.Varchar,4,ParameterDirection.Input);廠一”dr指標(biāo)ID_parmsInsertAdd(newParam(IndexID,ToString(),ParamTypeVarchar,10,ParameterDirectionInput);”dr目標(biāo)值parmsInsertAdd(newParam(StandardValue,ToString(),ParamTypeVarchar,50,ParameterDirectionInput);ParamTypeVarchar,50,ParameterDirectionInput);drparmsInsertAdd(newParam(Value,完成值_ToString(),ParamTypeVarchar,50,ParameterDirectionInput);”dr是否達(dá)標(biāo)parmsInsertAdd(newParam(IsReachStandard,ParamTypeNvarchar,50,ParameterDirectionInput);trySqlDatabaseExecuteNonQuery(conn,CommandTypeStore

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論