If you really are stuck with ASP only, have a look at the following Javascript code...it translates an HTML table into an MS Excel spreadhseet using the HTML DOM. (ie CLIENT SIDE - Yippee!!)Once you have it as an excel spreadsheet, you should be able to save it as a .dbf - automatically, or as the user requires. notice the oXL.Visible = True - if you don't want the user to see it - then don't do this bit....Problems are as follows- Users will have to turn their security settings off in IE - otherwise the script will not be able to launch the Excel Object. In IE - this can be done for intranet only - and b'sides, they can turn it straight back on again (once I've taken control of their harddrives) - oops I mean, once they've finished.
function fnAutomateExcel(){ var oXL = new ActiveXObject("Excel.Application") oXL.Visible = false var oWB = oXL.Workbooks.Add() var oSheet = oWB.ActiveSheet mybody=document.getElementsByTagName("body").item(0) mytable=mybody.getElementsByTagName("table").item(0) mytablebody=mytable.getElementsByTagName("tbody").item(0) for(var i = 0;i<mytablebody.getElementsByTagName("tr").length;i++){ myrow=mytablebody.getElementsByTagName("tr").item(i) if(i == 0){ for(var x = 1;x<myrow.getElementsByTagName("th").length;x++){ mycel=myrow.getElementsByTagName("th").item(x) oSheet.Cells(i+1, x).Value = mycel.childNodes.item(0).data oSheet.Cells(i+1, x).Font.Bold = true } } else { if(myrow.getElementsByTagName("td").length != 0){ for(var x = 1;x<myrow.getElementsByTagName("td").length;x++){ try{ mycel=myrow.getElementsByTagName("td").item(x) oSheet.Cells(i+1, x).Value = mycel.getElementsByTagName("input").item(0).value } catch(error){ mycel=myrow.getElementsByTagName("td").item(x) oSheet.Cells(i+1, x).Value = mycel.childNodes.item(0).data } } } else { for(var x = 1;x<myrow.getElementsByTagName("th").length;x++){ mycel=myrow.getElementsByTagName("th").item(x) oSheet.Cells(i+1, x).Value = mycel.childNodes.item(0).data oSheet.Cells(i+1, x).Font.Bold = true } } } } oSheet.Range(oSheet.Cells(1,1),oSheet.Cells(i,x)).EntireColumn.AutoFit oXL.Visible = true oXL.UserControl = true }Edited by - rrb on 03/04/2002 17:13:08