下載本文檔
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年技術(shù)研發(fā):一致行動(dòng)人協(xié)議范本3篇
- 二零二五版商業(yè)綜合體拆除工程合同示范文本2篇
- 二零二四年商業(yè)空間美陳設(shè)計(jì)、安裝及活動(dòng)策劃合同2篇
- 2025年度商業(yè)綜合體租賃合同協(xié)議書4篇
- 二零二五年度海綿城市建設(shè)招標(biāo)文件編制及論文生態(tài)研究合同4篇
- 2025年物業(yè)股權(quán)抵押投資合同模板3篇
- 中外合資企業(yè)2024年項(xiàng)目合作經(jīng)營(yíng)合同版B版
- 二零二五年度貨車駕駛員休息時(shí)間及調(diào)休合同3篇
- 紅豆杉屬植物葉綠體全基因組測(cè)序及系統(tǒng)進(jìn)化研究
- 2025年蔬菜基地土地承包與農(nóng)業(yè)機(jī)械化推廣合同3篇
- 充電樁項(xiàng)目運(yùn)營(yíng)方案
- 2024年農(nóng)民職業(yè)農(nóng)業(yè)素質(zhì)技能考試題庫(kù)(附含答案)
- 高考對(duì)聯(lián)題(對(duì)聯(lián)知識(shí)、高考真題及答案、對(duì)應(yīng)練習(xí)題)
- 新版《鐵道概論》考試復(fù)習(xí)試題庫(kù)(含答案)
- 【律師承辦案件費(fèi)用清單】(計(jì)時(shí)收費(fèi))模板
- 高中物理競(jìng)賽真題分類匯編 4 光學(xué) (學(xué)生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語(yǔ)人教版
- 西方經(jīng)濟(jì)學(xué)-高鴻業(yè)-筆記
- 2024年上海市中考語(yǔ)文試題卷(含答案)
- 幼兒園美術(shù)教育研究策略國(guó)內(nèi)外
- 生豬養(yǎng)殖生產(chǎn)過(guò)程信息化與數(shù)字化管理
評(píng)論
0/150
提交評(píng)論