I've used the header function before for redirection with success, but in the current situation I'm not sure where to put the 2 calls to it. I'm making the web page on the fly -- querying the dB, writing out the string including html tags and the query result, using fopen to create the file, then using Javascipt to open a browser window displaying the just created page. So far I've either gotten the 'can't send headers, output already started' error message, or I've gotten the GUI page itself opened up in excel, interesting effect but not the intention ;-) Does anyone have an idea where to try putting the header calls given the above set-up? Thanks, dave > Wow, thanks. I'm gonna give this a try right now. > dave > Mark Weinstock at mark_weinstock@xxxxxxxxx recently wrote... >> Maybe I'm missing something (quite possible), but you can make the >> work happen autogically by using http headers. >> header("Content-type: application/octet-stream"); >> header("Content-Disposition: attachment; filename=excelfile.xls"); >> Replace excelfile.xls with whatever you want the filename to be >> Then write out your table as you would normally. the result should be >> an excel file either downloaded or opened in the browser, depending >> on the browser settings.David