问题描述
新手,请指点。环境vb.net2005framework2.0要求十个左右txt文件,每个文件里有几百行数据(姓名,年龄,男女等)不用数据库软件,读取txt,并按照要求排序,出力成.xls文件求高手指点。谢啦。
解决方案
解决方案二:
如果这十个文件里面的内容格式都一样,那么提供点思路给你:1、逐行读取每个txt里面的内容,存放在arraylist里2、按照你的要求对arraylist进行排序(排序算法网上很多)3、导出arraylist到excel里附:如果对于导出的xls没有格式要求(不需要设置标题样式,只要里面的数据一行一行就可以),那么可以提供给你个导出速度很快的VB.NET函数(代码见后面,网友提供的,函数的参数是datagridview控件,不过原理很简单,你可以转换成数据来源为arraylist的)如果对于导出的数据有要求的话,网上有很多插件,自己去搜下吧,用谷歌PublicSubExportDataGridViewToExcel(ByValdataGridview1AsDataGridView)DimsaveFileDialogAsSaveFileDialog=NewSaveFileDialogsaveFileDialog.Filter="Execlfiles(*.xls)|*.xls"saveFileDialog.FilterIndex=0saveFileDialog.RestoreDirectory=TruesaveFileDialog.CreatePrompt=TruesaveFileDialog.Title="导出Excel文件到"saveFileDialog.ShowDialog()DimmyStreamAsStreammyStream=saveFileDialog.OpenFileDimswAsStreamWriter=NewStreamWriter(myStream,System.Text.Encoding.Unicode)DimstrAsString=""TryDimiAsInteger=0Whilei<dataGridview1.ColumnCountIfi>0Thenstr+=""&Microsoft.VisualBasic.Chr(9)&""EndIfstr+=dataGridview1.Columns(i).HeaderTexti=i+1EndWhilesw.WriteLine(str)DimjAsInteger=0Whilej<dataGridview1.Rows.CountDimtempStrAsString=""DimkAsInteger=0Whilek<dataGridview1.Columns.CountIfk>0ThentempStr+=""&Microsoft.VisualBasic.Chr(9)&""EndIftempStr+=dataGridview1.Rows(j).Cells(k).Value.ToStringk=k+1EndWhilesw.WriteLine(tempStr)j=j+1EndWhilesw.Close()myStream.Close()MessageBox.Show("Excel保存成功")CatcheAsExceptionMessageBox.Show(e.ToString&"保存失败")Finallysw.Close()myStream.Close()EndTryEndSub
解决方案三:
可以用SortList排序哦。
解决方案四:
关于排序,不用自己设计代码,直接调用Array.Sort(Ri)即可,括号内为一维数组,就会从小到大排序。
解决方案五:
读取txt文件到DataTable,然后用DataTable.DataView.Sort设置排序,然后遍历导入到CSV文件
解决方案六:
谢谢大家帮助,我周末试试,有不懂的再问,尤其是谢谢ZS_Delmory。