C# DataTable按索引将选定的行和列复制到另一个DataTable
我有两个数据表C# DataTable按索引将选定的行和列复制到另一个DataTable,c#,asp.net,regex,datatable,C#,Asp.net,Regex,Datatable,我有两个数据表 进口公司 ExportExcelDT 在这两个表中,有一个表包含一些数据,我将检查每一行作为验证,并从表中删除无效列并将其添加到第二个表中 这是我正在使用的代码 int Col = 0; using (OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM [" + sheet1 + "]", excel_con)) {
- 进口公司
- ExportExcelDT
int Col = 0;
using (OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM [" + sheet1 + "]", excel_con))
{
oda.Fill(ImportExcelDT);
if (ImportExcelDT.Rows.Count > 0)
{
for (int i = 0; i < ImportExcelDT.Rows.Count; i++)
{
string EmpCod = ImportExcelDT.Rows[i]["Employee Code"].ToString();
bool isEmpCod = Regex.IsMatch(EmpCod, @"^[a-zA-Z0-9/-]+$");
//Here i am checking condition if its false
if (!isEmpCod)
{
count++;
//Now i want to copy and delete selected row in another data table
for (int j = 0; j < ImportExcelDT.Rows.Count; j++)
{
ImportExcelDT.Rows[j][i] = ExportExcelDT.Rows[j][Col];
ImportExcelDT.Rows[i].Delete();
}
}
else
{
}
int Col=0;
使用(OleDbDataAdapter oda=新的OleDbDataAdapter(“从[“+sheet1+”]”中选择*,excel_-con))
{
oda.Fill(importexeldt);
如果(IMPORTEXELDT.Rows.Count>0)
{
对于(int i=0;i
我有点困惑,在删除和添加时,应该在ImportExcelDT.Rows[j][I]
和ExportExcelDT.Rows[j][Col];
上选择哪一行和哪一列。试试这个
if (ImportExcelDT.Rows.Count > 0)
{
ExportExcelDT = ImportExcelDT.Clone();
for (int i = 0; i < ImportExcelDT.Rows.Count; i++)
{
string EmpCod = ImportExcelDT.Rows[i]["Employee Code"].ToString();
bool isEmpCod = Regex.IsMatch(EmpCod, @"^[a-zA-Z0-9/-]+$");
//Here i am checking condition if its false
if (!isEmpCod)
{
count++;
//Now i want to copy and delete selected row in another data table
ExportExcelDT.ImportRow(ImportExcelDT.Rows[i]);
ImportExcelDT.Rows[i].Delete();
}
else
{
}
}
}
if(ImportExcelDT.Rows.Count>0)
{
ExportExcelDT=ImportExcelDT.Clone();
对于(int i=0;i
这是在ImportExcelDT.Rows[j][i]=ExportExcelDT.Rows[j][Col];
正确吗?您想做什么?如果第7行出现验证错误,那么我想将第7列复制到新数据表,并从旧数据表中删除第7列,所以它应该是ExportExcelDT.Rows[j][Col]=ImportExcelDT.Rows[j][i]
对吗?位置1没有行。或者位置0没有行。我在使用count++和col时遇到了错误?是的,它将遍历每一行,在所有操作完成后,它将跳出循环。我应该使用break;?我不了解您的要求,您想做什么?让我们来看看。