//读取excel表中一个值,然后在dbf表中查询,如果在dbf表中不存在这个值,就把excel表中这一行删除
for (int excelRow = excel开始行; excelRow < excel总行; ++excelRow)
{
string excelData = myExcelDataSet.Tables["[Sheet1$]"].Rows[excelRow][Excel列].ToString();//读取excel表一个值
//在dbf表中核对
OleDbConnection conn = new OleDbConnection(@"Provider=vfpoledb;Data Source=" + Text.ToString() + ";Extended Properties=dBASW IV;User ID=;Password=");
conn.Open();
System.Data.OleDb.OleDbCommand cmd = new OleDbCommand("select * from '" + Text.ToString() + "' where " + DBFDN1 + "='" + excelData + "'", conn);
OleDbDataReader dr = cmd.ExecuteReader();if (dr.HasRows == false)
{
从excel表中excelRow这一行数据删除
}
}
如何删除,请大侠们详细指点,谢谢!
for (int excelRow = excel开始行; excelRow < excel总行; ++excelRow)
{
string excelData = myExcelDataSet.Tables["[Sheet1$]"].Rows[excelRow][Excel列].ToString();//读取excel表一个值
//在dbf表中核对
OleDbConnection conn = new OleDbConnection(@"Provider=vfpoledb;Data Source=" + Text.ToString() + ";Extended Properties=dBASW IV;User ID=;Password=");
conn.Open();
System.Data.OleDb.OleDbCommand cmd = new OleDbCommand("select * from '" + Text.ToString() + "' where " + DBFDN1 + "='" + excelData + "'", conn);
OleDbDataReader dr = cmd.ExecuteReader();if (dr.HasRows == false)
{
从excel表中excelRow这一行数据删除
}
}
如何删除,请大侠们详细指点,谢谢!
参考下。
貌似不能用sql删除
1采用Excel.Application提供程序读取,然后,清除对应行
2采用NPOI
建议采用NPOI代码请自行查找
Microsoft.Office.Interop.Excel.Workbook openWorkbook1 = app1.Application.Workbooks.Add("" + RDfilename + "");app1.Visible = false;Worksheet ws1 = (Microsoft.Office.Interop.Excel.Worksheet)openWorkbook1.Worksheets[1];Range range = (Range)ws1.Rows[excelRow + 1, Type.Missing];
range.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp);//删除这一列后,如何还把此excel文件保存在此目录下app1.Quit();
谢谢!谢谢!
如:
sheet.get_Range(sheet.Cells[1, 1], sheet.Cells[10, 10]).Delete(-4159);WEB程序:
xlSheet.Rows(11).Delete(-4162);析:
类似-4159 和 -4162 的值可以在EXCEL录制宏得到