dbfmini

Leitor puro Go para arquivos dBASE/DBF (sem dependências de bibliotecas DBF de terceiros).
Suporta campos: C, N, F, Y, L, D, I, T, B.
Instalação
go get github.com/alberto255345/dbfmini@latest
Uso rápido
package main
import (
"fmt"
"log"
"github.com/alberto255345/dbfmini"
)
func main() {
db, err := dbfmini.Open("clientes.dbf", nil)
if err != nil {
log.Fatalf("abrindo DBF: %v", err)
}
for {
registros, err := db.ReadRecords(200) // leitura em lotes (opcional)
if err != nil {
log.Fatalf("lendo registros: %v", err)
}
if len(registros) == 0 {
break // EOF
}
for _, rec := range registros {
saldo, _ := rec["SALDO"].(float64)
fmt.Printf("%v => saldo %.2f\n", rec["NOME"], saldo)
}
}
}
Codificações e modos de leitura
Limitações
- Campos M (memo) ainda não são lidos; interpretação de
.DBT/.FPT em desenvolvimento.
- Biblioteca somente leitura: não cria/edita DBF (por enquanto).
- Tipos específicos do Visual FoxPro (ex.:
General, Variant) ainda não são suportados.
Roadmap
- Suporte completo a campos memo (
.DBT/.FPT).
- APIs de escrita/atualização de registros.
- Suporte ampliado a tipos/versões e validações adicionais.
Licença
Distribuído sob os termos da licença MIT.