導(dǎo)入代碼,從csv文件得到datatable ///<summary>///GetDataFromCsvFile///(ThroughStreamReader)///</summary>///<returns></returns> csv導(dǎo)出代碼 ///<summary>///ExporttoCsvFilefromdataset///</summary>///<paramname="src"></param>///<paramname="folderName">folderName</param>///<paramname="strFileName">strFileName</param>///<returns></returns>publicboolExportToCsv(DataSetsrc,stringfolderName,stringstrFileName){stringcsv=String.Empty;StreamWriterwriter=null;stringfileName=Server.MapPath("/")+folderName+"http://"+strFileName;try{if(src==null||src.Tables.Count==0)thrownewException("datasetisnullorhasnottableindataset");for(inti=0;i<src.Tables.Count;i++){if(i>0)fileName=fileName.Substring(0,fileName.IndexOf('.'))+i+fileName.Substring(fileName.IndexOf("."));writer=newStreamWriter(fileName);DataTabledt=src.Tables[i];StringBuildersb=newStringBuilder();for(intj=0;j<dt.Columns.Count;j++){stringcolName=dt.Columns[j].ColumnName;if(colName.IndexOf(',')>-1)colName=colName.Insert(0,"/"").Insert(colName.Length+1,"/"");sb.Append(colName);if(!colName.Equals(""))if(j!=dt.Columns.Count-1)sb.Append(",");}writer.WriteLine(sb.ToString());sb=newStringBuilder();stringtemp="";for(intj=0;j<dt.Rows.Count;j++){DataRowdr=dt.Rows[j];for(intk=0;k<dt.Columns.Count;k++){objecto=dr[k];if(o!=null)temp=o.ToString();if(temp.IndexOf(',')>-1)temp=temp.Insert(0,"/"").Insert(temp.Length+1,"/"");sb.Append(temp);if(k!=dt.Columns.Count-1)sb.Append(",");}writer.WriteLine(sb.ToString());sb=newStringBuilder();csv=sb.ToString();}writer.Close();}stringstrFilePath=Server.MapPath("/")+folderName;if(!Directory.Exists(strFilePath)){Directory.CreateDirectory(strFilePath);}strFullFileName=Server.MapPath("/")+folderName+"http://"+fileName;//FullFileName=Server.MapPath(FileName);//FileNameFileInfoDownloadFile=newFileInfo(strFullFileName);if(DownloadFile.Exists){Response.Clear();Response.ClearHeaders();Response.Buffer=false;Response.ContentType="application/octet-stream";//Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.ASCII));Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(fileName,System.Text.Encoding.ASCII));Response.AppendHeader("Content-Length",DownloadFile.Length.ToString());Response.WriteFile(DownloadFile.FullName);Response.Flush();//Response.End();}else{//notexistthrownewException("Exportcsvfiledoesnotexist!");}}catch(Exceptionex){thrownewException("Savecsverror",ex);}finally{if(writer!=null)writer.Close();}returntrue;}///<summary>///ListtoDataTable///</summary>///<paramname="entitys">entityslist</param>///<returns></returns>publicDataTableListToDataTable(List<T>entitys){if(entitys==null||entitys.Count<1){thrownewException("listisnull");}//getfirstPropertieTypeentityType=entitys[0].GetType();PropertyInfo[]entityProperties=entityType.GetProperties();//DataTablestructure//DataTabledt=newDataTable();for(inti=0;i<entityProperties.Length;i++){//dt.Columns.Add(entityProperties[i].Name,entityProperties[i].PropertyType);dt.Columns.Add(entityProperties[i].Name);}//addentitytoDataTableforeach(objectentityinentitys){//checktypeif(entity.GetType()!=entityType){thrownewException("typenotsame");}object[]entityValues=newobject[entityProperties.Length];for(inti=0;i<entityProperties.Length;i++){entityValues[i]=entityProperties[i].GetValue(entity,null);}dt.Rows.Add(entityValues);}returndt;}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注