private void button3_Click(object sender, EventArgs e)
{
string vectorFileFullName = txtvectorFileFullName.Text; //dbf全路径
IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();
IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(vectorFileFullName), 0);
IFeatureWorkspace pFeatureWorkspaceShp = pWorkspace as IFeatureWorkspace;
ITable pTable = pFeatureWorkspaceShp.OpenTable(System.IO.Path.GetFileName(vectorFileFullName));
DataTable dt = ToDataTable(pTable);
}
//将ITable转换为DataTable方法
public DataTable ToDataTable(ITable mTable)
{
try
{
DataTable pTable = new DataTable();
for (int i = 0; i < mTable.Fields.FieldCount; i++)
{
pTable.Columns.Add(mTable.Fields.get_Field(i).Name);
}
ICursor pCursor = mTable.Search(null, false);
IRow pRrow = pCursor.NextRow();
while (pRrow != null)
{
DataRow pRow = pTable.NewRow();
string[] StrRow = new string[pRrow.Fields.FieldCount];
for (int i = 0; i < pRrow.Fields.FieldCount; i++)
{
StrRow[i] = pRrow.get_Value(i).ToString();
}
pRow.ItemArray = StrRow;
pTable.Rows.Add(pRow);
pRrow = pCursor.NextRow();
}
return pTable;
}
catch (Exception ex)
{
return null;
}
}