Converting Dbase files to Text files

Posted on 1999-01-14
Last Modified: 2008-03-10
Using MS Excel, I can open a Dbase file with .dbf extension
and save it as an text file (Internally the file gets converted). I am wordering if the same can be done at the command line (i.e at the DOS prompt with out opening and saving the file so, that I can put it in a batch file).
Or to Invoke the Excel's file conversion tool with out opening Excel.
In short I want to automat the process of conversion with out human intervension in a batch file
Question by:bujji120198
  • 4
  • 2
  • 2
  • +1
LVL 17

Expert Comment

ID: 1615685
To my knowledge, no, you won't be able to do that. What happens is Excel is using built in ODBC drivers which allow for conversion of database files into text format or a different database format for importation. These ODBC drivers are not active in Dos, only in Windows. Unless someone else would happen to know some way that you could convert it without using ODBC then you probably won't be able to do it.


Author Comment

ID: 1615686
Edited text of question

Expert Comment

ID: 1615687
Why want you use Excel for such purposes? There are many applications for dBase file operating under DOS. I used Clipper for it, and there is a sample below for solution for your problem (just compile it by Clipper and you'll get an .EXE file, that you can call from batch file). I can send it to you (.EXE) by e-mail (if you don't find Clipper and don't fear use self-made software)

param f1
if f1=NIL
   ?" There is no file name in command line"
use &f1
newname=left(f1,at(".",f1)-1) + ".txt"
?"Write to file ",newname
copy to &newname delimited

As you see, there is only one string - "copy to .. delimited"
(resulted file contains values, delimited by commas. You can use "copy to ... sdf" for constant-width columns format)

Author Comment

ID: 1615688
Mr. vboukhar,
        It would be great if you can send me an email of the executables for:
        1. For comma delimited and
        2. For constant-width columns format
 to the following email address:

I really appreciate you help,

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!


Accepted Solution

vboukhar earned 20 total points
ID: 1615689
I 've sent it.
By the way, you can do it in Excel, but without passing filenames to it (for example, for all files in directory etc.). Or even for some desireble list of files, but you have create this list in .txt file and read it from Excel.
Sample of converting of all files in current directory:
Sub dbf_to_txt()
  MyPath = ActiveWorkbook.Path & "\*.dbf"
  Fname = Dir(MyPath)
  While Len(Fname) <> 0
     NewName = Left(Fname, InStr(Fname, ".") - 1) & ".TXT"
     FullName = ActiveWorkbook.Path & "\" & Fname
     Workbooks.Open Fname
     ActiveWorkbook.SaveAs NewName, xlTextWindows
     ActiveWorkbook.Close False
     Fname = Dir()
End Sub

Expert Comment

ID: 2752374

Can you send me this executable also, I'd be very interested in using it.


Thanks a lot

Expert Comment

ID: 2757398
I met some hardware problem with my home PC so I have no ability to get to Clipper (I don't have it at my work computer). I hope I resolve my problem soon and then I'll send you that file.

Expert Comment

ID: 2757415
Hi Vboukhar,

I don't need it nw. I wanted to convert the dbf to text because I thought excel was corrupting it. I've been into the file with a hex editor though and can see it's wrong inside :9

I leave this job on Friday anyway, so I don't need to concern myself with it anymore!

Thanks for you r help, and hope your computer recovers happily!


Expert Comment

ID: 2757442
By the way - if you are using hex editor - simplest way to repair dbf file is to remove its header at all and open it in Excel as file with constant-width columns format. I did it often some years ago :-)

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Suggested Solutions

Some time ago I was asked to create a VBA function that would calculate a check digit for an input number, using the following procedure: First, sum up all the individual digits in the number If that sum value has more than one digit, then sum up …
PaperPort has a feature called the "Send To Bar". It provides a convenient, drag-and-drop interface for using other installed software, such as Microsoft Office. However, this article shows that the latest Office 2016 apps (installed with an Office …
Learn how to make your own table of contents in Microsoft Word using paragraph styles and the automatic table of contents tool. We'll be using the paragraph styles in Word’s Home toolbar to help you create a table of contents. Type out your initial …
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now