怎么直接把dataset的前两条数据删除,然后把第三条数据当作列名
因为这个dataset是从excel直接读出来的,由于excel的格式问题,现在想把第一行和第二行删除,把第三行的数据当作列名,请问各位大侠怎么实现啊?
------解决方案--------------------
DataTable dt = ds.Tables[0];
DataRow drInfo=dt.Rows[2];
for (int i = 0; i < dt.Columns.Count; i++)
{
dt.Columns[i].ColumnName = drInfo[i].ToString();
}
dt.Rows.RemoveAt(0);
dt.Rows.RemoveAt(0);
dt.Rows.RemoveAt(0);
------解决方案--------------------呵呵,回去找本ADO.NET书来看,直接翻到DataSet对象章节,你就会发现,DataSet其实是模拟一个SQL数据库,只不过它是在内存里,不能永久保存罢了
而且它作为一个对象,有很多属性和方法可以调用,其实你的这种需求,不是难事,前提是你对DataSet对象有足够的了解
不然,在这里想要回答你的上面问题,还真是不懂怎么解答,比如你说的删除前两行这种操作,简直和没问差不多,因为DataSet这个内存中的数据库,不可能没有删除方法的
而你说的第三行作为列名,同理,不是难事,你就遍历一下对象里的表集合的第三行,其实这个第三行也是一个行对象,同样它也有N多属性和方法,足够你玩转它们
而容器对象本身,肯定可以动态修改列标题的,它就像内存里的一个数据库,你现在想修改这个数据库里的一个表的列标题,这肯定没问题
我这里不上代码了,讲思路容易,代码很无语,希望楼下的朋友能给你代码
------解决方案--------------------
DataTable dt = new DataTable();
Workbook hssfworkbook;
hssfworkbook = new HSSFWorkbook(fileStream);
Sheet sheet = hssfworkbook.GetSheetAt(0);