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

download multiple Excel files

Guest
May 14, 2007 May 14, 2007

Copy link to clipboard

Copied

I was assigned a project to produce multiple Excel files with the press of a single button. I am able to generate the files using CFCONTENT/CFHEADER. I used javascript to submit a form multiple times with different parameters to generate the separate files. I couldn't figure a way to synchronize the "file download" dialog with the browser window but I finally hit on using hidden iframes as the form target - one for each file. This worked fine on my system - each file would open a separate dialog (files are generated as "attachment"), one after the other. But when the client tries it, only one or sometimes two dialogs are opened, then it stops. We are both using IE v. 6.0 with slightly different minor version numbers.

This would appear to be a browser issue - are there any settings that would affect this?

Is there any way to check the existence or status of the "file download" dialog using javascript?

The other possible solution would be to generate the multiple files on the server side and assemble them into a single ZIP for download - any thoughts on that?

Thanks for any assistance.

Ken

TOPICS
Advanced techniques

Views

1.0K

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, 2007 May 14, 2007

Copy link to clipboard

Copied

Not sure what a fix to your current issue might be, but could you get away with creating 1 Excel file with multiple worksheets instead of multiple Excel file with 1 Worksheet each? If so, that might fix your multiple download issue. You can create multiple worksheet Excel files using the Jakarta POI Java package (which you probably already have on your server if you are using CFMX 7). I think I've seen some Custom Tag wrappers for POI that make it even easier to use.

Otherwise, your zip solution might be your best bet. Browsers can be rather finicky about both frames and file downloads and when you mix multiple instances of both together you never know what might happen.

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
Guest
May 15, 2007 May 15, 2007

Copy link to clipboard

Copied

Michael,

Thanks for the response. We do have the POI package and I have a little bit of familiarity with it. Multiple worksheets would be an ideal solution as that was the original request - the customer will actually be combining the multiple files into separate worksheets in a single file. But that will involve quite a bit of time for me to get up to speed on the ins and outs of the package and figuring out how things like formatting.

For now I "solved" the problem by delaying the submission of each form by 10 seconds, obviously not an ideal solution but it may suffice until I come up with something better.

Ken

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
Guest
Feb 13, 2008 Feb 13, 2008

Copy link to clipboard

Copied

Hi,

I'm actually trying to generate multiple excel files at once, looping though a query and creating the files.

However, when I launch the code, it is generating only the last file and not one by one.

I unfortunately cannot use POI in this case because of heavy formatting of the excel files (tables, colspans, rowspans, colors, etc), unless you know of a way to do this with POI?

Initially the files were generated 1 by 1. This works, no problem.

But now, the users want the option to tick which files they want to generate and click on a Submit button to generate all the Excel files they have checked.

Any idea on this issue?

Pls also advise how you managed to delay the form submission by 10 seconds for each of the files you were creating.

Thanks and regards,
Yogesh Mahadnac

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
Guest
Feb 13, 2008 Feb 13, 2008

Copy link to clipboard

Copied

Yogesh,

Here is the code I used. It sounds like almost exactly what you are trying to do so if you don't have the option of using cfzip you might try this. It presents a list of options and the user can select which ones to generate. Then when submitted another window is opened to allow the reports to be generated. Javascript setTimeout() function delays the submission of each report. We have this in production now and it seems to be working OK. You can tailor it to your own environment.

HTH,
Ken

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
Guest
Feb 13, 2008 Feb 13, 2008

Copy link to clipboard

Copied

LATEST
Hi Ken,

Many thanks for your prompt reply.

I'll give it a try.

Have a very nice day!

Best regards,
Yogesh

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
New Here ,
Feb 13, 2008 Feb 13, 2008

Copy link to clipboard

Copied

There is <cfzip> in CF8. I would:

Generate each XLS one at a time.
Put it in a temp directory on the web server
Zip them all up
Serve the zip to the client.

From a user perspective, this seems much better then dealing with multiple download dialogs.

If you're not in CF8, there are custom tags available though they may cost something.

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