怎么直接把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);
DataTable dt = new DataTable();
Workbook hssfworkbook;
hssfworkbook = new HSSFWorkbook(fileStream);
Sheet sheet = hssfworkbook.GetSheetAt(0);
System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
Row headerRow = sheet.GetRow(2);//选择第三行
int cellCount = headerRow.LastCellNum;
for (int j = 0; j < cellCount; j++)
{
Cell cell = headerRow.GetCell(j);
dt.Columns.Add(cell.ToString());
}
for (int i = (sheet.FirstRowNum + 3); i <= sheet.LastRowNum; i++)//从第四行读取数据
{
Row row = sheet.GetRow(i);
DataRow dataRow = dt.NewRow();
for (int j = row.FirstCellNum; j < cellCount; j++)
{
if (row.GetCell(j) != null)
dataRow[j] = row.GetCell(j).ToString().Trim();//使用Trim方法去除空格
//dataRow[j] = row.GetCell(j).ToString();
}
dt.Rows.Add(dataRow);
}
return dt;