C#封装DBF文件到DataTable

来源:互联网 发布:windows nt和2000 编辑:程序博客网 时间:2024/05/22 07:59

封装DBF到DataTable过程

前言

最近的项目经常与DBF打交道,所以如何简洁的解析DBF文件就非常的关键了,

这里介绍一种不用安装驱动,只需要借助第三方类库FastDBF读取DBF文件到DataTable的方法

说明

项目中必须引用FastDBF

using SocialExplorer.IO.FastDBF;

代码实现

          /// <summary>        /// 从DBF读取文件到DataTable        /// </summary>        /// <param name="fileName">DBF的完整路径:如E:\1.dbf</param>        /// <returns></returns>        public static DataTable DbfToDataTable(string fileName)        {            try            {                //返回的结果集                DataTable dt = new DataTable();                //获取一个DBF文件对象                DbfFile dbf = new DbfFile(Encoding.Default);                dbf.Open(fileName, FileMode.Open);                //创建DataTable的结构(列名)                DbfHeader dh = dbf.Header;                for (int index = 0; index < dh.ColumnCount; index++)                {                    dt.Columns.Add(dh[index].Name);                }                //加载数据到DataTable里                int i = 0;                while (dbf.Read(i) != null)                {                    //获取一行                    DbfRecord record = dbf.Read(i);                    //将改行数据放到DataRow里                    DataRow dr = dt.NewRow();                    Object[] objs = new Object[record.ColumnCount];                    for (int index = 0; index < record.ColumnCount; index++)                    {                        objs[index] = record[index];                    }                    dr.ItemArray = objs;                    dt.Rows.Add(dr);                    i++;                }                dbf.Close();                return dt;            }            catch (Exception ex)            {                throw new Exception(ex.Message);            }        }
0 0