Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Saving a CSV file using execcommand()

Posted on 2004-04-12
8
Medium Priority
?
2,585 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
Technology Partners: 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

[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.

Question has a verified solution.

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

The task A number given should be formatted for easy reading by separating digits into triads. Format must be made inline via JavaScript, i.e., frameworks / functions are not welcome. So let’s take a number like this “12345678.91¿ and format i…
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
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…

636 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