dbf-reader
v1.0.3
Published
A Node.js/Typescript module to read tabular data from the dBase DB (.dbf) file.
Downloads
6,116
Maintainers
Readme
dbf-reader
A Node.js/Typescript module to read tabular data from the dBase DB (.dbf) file.
Installation
npm install dbf-reader --save
yarn add dbf-reader
bower install dbf-reader --save
Usage
TypeScript
Case 1: Reading (.dbf) file from local path 'D:\Workspace\tests\sampleFiles\sample.dbf'
import { Dbf } from 'dbf-reader';
import { DataTable } from 'dbf-reader/models/dbf-file';
import * as fs from "fs";
let buffer:Buffer=fs.readFileSync('/Workspace/tests/sampleFiles/sample.dbf')
let datatable:DataTable = Dbf.read(buffer);
if (datatable) {
datatable.rows.forEach((row: any) => {
datatable.columns.forEach((col: Column) => {
console.log(row[col.name]);
});
});
}
Output should be an instance of DataTable class
Case 2: Reading (.dbf) file from 'File' input HtmlElement
<input type="file" id="avatar" (change)="onFileChange($event)" #fileInput>
import { Dbf } from 'dbf-reader';
import { DataTable } from 'dbf-reader/models/dbf-file';
import * as fs from "fs";
onFileChange(event) {
let reader = new FileReader();
if (event.target.files && event.target.files.length > 0) {
let file = event.target.files[0];
reader.readAsArrayBuffer(file);
reader.onload = () => {
var arrayBuffer: ArrayBuffer = reader.result as ArrayBuffer;
if (arrayBuffer) {
let buffer: any = Buffer.from(arrayBuffer);
let datatable:DataTable = Dbf.read(buffer);
}
};
}
}
Output should be an instance of DataTable class
Javascript
Case 1: Reading (.dbf) file from local path 'D:\Workspace\tests\sampleFiles\sample.dbf'
var dbf = require('dbf-reader');
var fs = require('fs');
var buffer:Buffer=fs.readFileSync('/Workspace/tests/sampleShpFiles/sample2-line.shp')
var datatable = dbf.read(buffer);
if (datatable) {
datatable.rows.forEach((row) => {
datatable.columns.forEach((col) => {
console.log(row[col.name]);
});
});
}
Case 2: Reading (.dbf) file from 'File' input HtmlElement
<input type="file" id="avatar" (change)="onFileChange($event)" #fileInput>
var dbf = require('dbf-reader');
function onFileChange(event) {
var reader = new FileReader();
if (event.target.files && event.target.files.length > 0) {
var file = event.target.files[0];
reader.readAsArrayBuffer(file);
reader.onload = () => {
var arrayBuffer: ArrayBuffer = reader.result as ArrayBuffer;
if (arrayBuffer) {
var buffer: any = Buffer.from(arrayBuffer);
var datatable = dbf.read(buffer);
}
};
}
}
Output should be an instance of DataTable class
AMD
define(function(require,exports,module){
var parser = require('dbf-reader');
});
Supported dBase DB (.dbf) file version
.dbf File Type
Clipper/dBase III
dBase IV
dBase IV Windows
Foxpro 2.x
Visual Foxpro
Supported Data Type
Standard Property Type
Character: Supported
Character (binary): Supported
Currency: Supported
Date: Supported
Datetime: Supported
Double: Supported
Float: Supported
General: Supported
Integer: Supported
Integer (AutoIncre): Supported
Logical: Supported
Numeric: Supported
Varchar: Supported
Varchar (binary): Supported
Memo: Not Supported
Memo (binary): Not Supported
Varbinary: Not Supported
Blob: Not Supported
Custom Property Type
Not Supported
RI Property Type
Not Supported
Support
You can directly send any bug/issue or suggestion to my personal email id: [email protected].