private void button3_Click(  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;
    }
}

 

收藏 打印