• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Internet Explorer no longer opens tab-delimited files (in Excel)

Explorer ,
May 14, 2009 May 14, 2009

Copy link to clipboard

Copied

I'm generating tab-delimited files that open as spreadsheets in Excel.  This works fine in Firefox but does not work in Internet Explorer.  It used to work fine in IE also before upgrading to Microsoft Office 2007.

The error I'm getting is "Microsoft Office Excel cannot access the file..."

Here are the critical lines in my ColdFusion page:

<!--- tell browser it's an Excel file --->
<CFCONTENT TYPE="application/vnd.ms-excel">

<!--- tell Internet Explorer to open as Excel file --->
<CFHEADER NAME="Content-Disposition" VALUE="filename=mycontent.xls">

then I'm outputting the tab-delimited data.

When I go to the URL, IE prompts me to open or save the file but I can't even save the file (it says "Internet Explorer cannot download myfile.cfm from myserver.com") so maybe the problem is with a new version/patch of IE (I have IE 7 on Windows XP).  Again, this works fine in Firefox but unfortunately, most of my users use IE so I have to get this working in IE.

Any idea how to make this work with IE/MS Office 2007?

Thanks.

TOPICS
Advanced techniques

Views

3.5K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
May 14, 2009 May 14, 2009

Copy link to clipboard

Copied

Grant,

I've used the following code skeleton to successfully download XLS files (CSV, TXT, too) on systems with IE7 and Office 2007 installed (from IE, that is):

<!--- Tell the browser to expect an Excel file attachment. --->

<cfheader name="content-disposition" value="attachment; filename=filename.xls" />

<cfcontent type="application/excel" />

Try changing your type to applicaion/excel in cfcontent and add attachment; to your value attribute in cfheader.

Best,

Craig

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 14, 2009 May 14, 2009

Copy link to clipboard

Copied

Thanks, but that didn't work.  If I put in "attachment;" and/or change the content type, I immediately get the "cannot access the file" error.  It doesn't even get to the point where it prompts to open or save the file.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
May 14, 2009 May 14, 2009

Copy link to clipboard

Copied

Can you post a little of the code related to creating the tab-delimited content? Are you grabbing the file from the server or creating the content dynamically to send to the user? It may well be an IE security thing but there should certainly be a way 'around' it.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 15, 2009 May 15, 2009

Copy link to clipboard

Copied

Below is how it is being done.  This worked perfectly for years. MS Office 2007 does complain that the file extension does not match the data format (it's a tab delimited text file but I'm pretending it's an Excel file so they'll be prompted to view it as a spreadsheet in Excel) but you just click open and it works fine.  This issue with IE is new.  Let me know if you have any more ideas.

<CFSETTING ENABLECFOUTPUTONLY="Yes" SHOWDEBUGOUTPUT="No">

<!--- variables used for separating cells with tabs, and for new rows --->
<CFSET tabchar=chr(9)>
<CFSET newline=chr(13) & chr(10)>

<!--- tell browser it's an Excel file --->
<CFCONTENT TYPE="application/vnd.ms-excel">

<!--- tell Internet Explorer to open as Excel file --->
<CFHEADER NAME="Content-Disposition" VALUE="filename=myfile.xls">

<!--- get data --->
<CFQUERY NAME="getinfo" DATASOURCE="mydsn">
    select fieldone, fieldtwo
    from mytable
</CFQUERY>

<!--- output column headings --->
<CFOUTPUT><CFLOOP INDEX="q" LIST="fieldone,fieldtwo">#q##tabchar#</CFLOOP>#newline#</CFOUTPUT>

<!--- output database records --->
<CFOUTPUT QUERY="getinfo">#getinfo.fieldone##tabchar##getinfo.fieldtwo##newline#</CFOUTPUT>

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
May 15, 2009 May 15, 2009

Copy link to clipboard

Copied

Grant,

I ran a few tests in IE7 and IE8 this afternoon on both a Windows/IIS install and a Mac/Apache install. I was able to download the page from IE 7 and 8 without any errors. It would appear that there is a security setting of some sort (either installed with Office 2007

Using the code you posted as a base, statically typing in data where you had the query, I changed the CFCONTENT tag from this

<cfcontent type="application/vnd.ms-excel">

<cfheader name="Content-Disposition" value="filename=myfile.xls">

to

<cfcontent type="text/plain">

<cfheader name="Content-Disposition" value="attachment;filename=myfile.xls">

For both browsers, I was also prompted to download the file (and it saved properly). Perhaps this might be worth a shot (altering the MIME Type away from an Office type) as a test.

Did you also try, essentially, removing all security from IE?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
May 17, 2009 May 17, 2009

Copy link to clipboard

Copied

Try moving your query up in your code so that it runs prior to cfheader/cfcontent.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
May 20, 2009 May 20, 2009

Copy link to clipboard

Copied

LATEST

Having the same problem.  I changed around the cfcontent type and when its just "excel" it returns all my data but on the browser screen.  When I change it to msexcel it then gives me a file not found error.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation