?
Solved

Saving a CSV file using execcommand()

Posted on 2004-04-12
8
Medium Priority
?
2,539 Views
Last Modified: 2007-12-19
Hi,

Right now, I'm trying to get a SaveAs dialog box to display and save a CSV file when they click on a link.

I have been using the execcommand() at many unsuccessful attempts at this.

My question is, is it necessary to for the contents of the CSV file to be within the page of the JavaScript itself before I could use execcommand() to prompt the user to save it?

Thanks.
0
Comment
Question by:alison92
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
8 Comments
 

Author Comment

by:alison92
ID: 10808429
My script is very simple, essentially:

function ExportCsv()
{
     document.execCommand('SaveAs', true, <url of the csv file>);
}

<a href="#" onClick="ExportCsv();"></a>
0
 
LVL 12

Expert Comment

by:lil_puffball
ID: 10808585
Yes, the page has to be loaded.

You can try putting the page in a hidden Iframe:

<iframe name=iframeName style="display:none;" src=<url of the csv file>></iframe>

And then:

function ExportCsv()
{
     window.frames["iframeName"].document.execCommand('SaveAs', true, <url of the csv file>);
}
0
 

Author Comment

by:alison92
ID: 10808981
I tried the code above and it doesn't work.  I am, however, setting the url of the csv file in my code for both the iframe and the JavaScript function.

When I click on my export link, it just brings me to a different page, instead of prompting me with the SaveAs dialog box.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 12

Expert Comment

by:lil_puffball
ID: 10809020
This code works for me:

<script>
function ExportCsv(){
  window.frames["iframeName"].document.execCommand("SaveAs",true);
}
</script>

<a href="#" onclick="ExportCsv();">Export</a>

<iframe style="display:none;" name=iframeName src=test.htm></iframe>

Perhaps it's different for CSV files?
0
 

Author Comment

by:alison92
ID: 10809054
I did a test using .txt and .htm/l files.  They work for both, but it doesn't work for the type of file that I'd like to save.  Would you be able to suggest anything else?  I understand that execcommand() is also an IE thing.
0
 
LVL 12

Accepted Solution

by:
lil_puffball earned 1500 total points
ID: 10809159
Hmmm..I see the problem.

I'm not sure if it's possible. Can you just have a link to the file, and tell the user to right click it and save it that way?
0
 

Author Comment

by:alison92
ID: 10813689
I have it like that, but it's an added step in the workflow, so it would be preferable if I could have them left-click and the SaveAs dialog box come up right away.

I'll experiment with Response.content-type and IIS settings and such to see what I could come up with.  Thank you for your help.
0
 
LVL 12

Expert Comment

by:lil_puffball
ID: 10817013
Thanks for the points. :) Sorry I couldn't help more. :( I'll let you know if I find anything useful too.
0

Featured Post

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

801 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question