• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 295
  • Last Modified:

Converting Dbase files to Text files

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
  • 4
  • 2
  • 2
  • +1
1 Solution
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.

bujji120198Author Commented:
Edited text of question
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)
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

bujji120198Author Commented:
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: krmallina@hotmail.com

I really appreciate you help,

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

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


Thanks a lot
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.
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!

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 :-)
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

  • 4
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now