C#封装DBF文件到DataTable

作者: 新手村的0级玩家 | 来源:发表于2017-02-25 19:36 被阅读0次
封装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);
            }

        }

相关文章

  • C#封装DataTable到DBF

    前言 之前讨论过C#封装DBF文件到DataTable 那么今天反其道而行之,看一下如何将DataTable“封装...

  • C#封装DBF文件到DataTable

    前言 最近的项目经常与DBF打交道,所以如何简洁的解析DBF文件就非常的关键了, 这里介绍一种不用安装驱动,只需要...

  • C#封装EXCEL文件到DataTable

    前言 项目需要解析EXCEL文件,又限定了不能用插件和驱动,只能用类库,于是找到了NPOI 此处只简单介绍利用NP...

  • dbf文件sql驱动 工具

    dbf文件简介 dbf 文件的接收和使用工具可以参考 dbf jdbc 驱动简介 目前市面上有的dbf jdbc驱...

  • C#中删除DataTable中的行的方法

    1、在C#中,如果要删除DataTable中的某一行,大约有以下几种办法: 使用DataTable.Rows.Re...

  • dbf文件操作工具

    dbf文件 DBF文件格式是一种比较“古老”的数据库文件格式了,dbf是dBase和FoxPro所使用的数据库格式...

  • C# 两个 DataTable 比较

    经常有对两个DataTable进行比较的需求,比如通过C# winform或者 asp.net 将Excel导入到...

  • PostGIS中dbf file (.dbf) can not

    postgis数据库文件shapefile导入 dbf file (.dbf) can not be opened...

  • 一些杂乱的总结

    C#里datatable数据拆分 动态添加option 重画 关闭页面 数组 对象 后台正则

  • 小细节

    1. Datatable C#使用中DataRow中的列名是不区分大小的

网友评论

    本文标题:C#封装DBF文件到DataTable

    本文链接:https://www.haomeiwen.com/subject/ptjnwttx.html