Perl CGI : unable to download the excel sheet from perl cgi page


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl CGI : unable to download the excel sheet from perl cgi page
# 1  
Old 06-07-2013
Perl CGI : unable to download the excel sheet from perl cgi page

Hi All,

I have written an cgi perl script that displays an image(Excel image) and when clicked on that Image I need to download a excel sheet.

I made sure that excel sheet exists in the folder with the given name but still I am not able to download the sheet.

Code:

print "<center><table border=0>";
print "<tr><td aligh=left>";
print qq~<a href="$report_name"><img src="http://mywebsite.com/images/xlsx.png" width=40 height=40></a>~;
print qq~<a href="$report_name><img src="http://mywebsite.com/images/csv.jpg" width=40 height=40></a>~;

print "</td></tr>";
print "</table></center>";

I learned that we need to add the below lines for download the files using cgi perl.

Code:
print ("Content-Type:application/x-download\n");
print "Content-Disposition: attachment; filename=$report_name\n\n";

After adding ...

Code:
print ("Content-Type:application/x-download\n");
print "Content-Disposition: attachment; filename=$report_name\n\n";

print "<center><table border=0>";
print "<tr><td aligh=left>";
print qq~<a href="$report_name"><img src="http://mywebsite.com/images/xlsx.png" width=40 height=40></a>~;
print qq~<a href="$report_name><img src="http://mywebsite.com/images/csv.jpg" width=40 height=40></a>~;

print "</td></tr>";
print "</table></center>";

But only the above 2 lines on the browser and no luck...

Could anyone please let me know what went wrong ??

I am attaching the complete script with the thread.
(download statements are written in 311 and 312 lines)



Tons of thanks .....

Regards,
J
# 2  
Old 06-07-2013
I think you misunderstood some advice from somewhere.

Content-type supplies a mime type for the browser to enable it to load a helper application or if it has none to offer to save the file.

Once your httpd is configured correctly, all you have to do is print <a href="http://$myhost/http/path/to/spreadsheet><img src="/images/excell.gif"></a> to the browser. unless you're publishing the spreadsheet directly (mention of looking at line 300 for the spreadsheet scared me off reading your script Smilie ) if you are generating and printing the spreadsheet from a script then no HTML should be sent and you should really use the correct mime type for the spreadsheet in the header information sent to the browser [icode]content-type: application/vnd.ms-excel[/code]
This User Gave Thanks to Skrynesaver For This Post:
# 3  
Old 06-10-2013
Thanks Skrynesaver...!!!!

I have replaced the lines to the below but still no luck.

Code:
print ("Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\n");
print "Content-Disposition: attachment; filename=$report_name\n";

When clicking o the Image button, instead of getting the excel file the page is redirect to the error screen.

Could you please let me know whether any other changes are required ?


I have configured the httpd.conf to run the cgi scripts.I have presently saved all the cgi fiiles in /cgi-bin/subfolder/ directory.
Are there any other configuration changes that has to be made to download the excel sheet.

And also I tried to copy the excel file(in /cgi-bin/subfolder) that is generated through cgi script to some other directory outside cgi-bin.But it is showng an error message.


Could you please let me know how to come out of this issue ?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. OS X (Apple)

Perl CGI

I am trying to get my MacBook Pro with 10.8 Mt Lion set up to run Perl CGI scripts. Having a problem. I can start Apache Web Server with no problems. Why do I put the static and dynamic scripts? I which directory? I have looked at this article:... (3 Replies)
Discussion started by: djehresmann
3 Replies

2. Shell Programming and Scripting

CGI Perl : while loop in CGI perl

Hi Team, I am trying to connect to database(succeeded ) and print the records on the browser using while loop. But the elements of array are not displayed instead while loop is displayed directly. Instead of the below I can embed html statements in print but I am looking for the below style as I... (1 Reply)
Discussion started by: scriptscript
1 Replies

3. Shell Programming and Scripting

Perl cgi pages out of cgi-bin folder in WINDOWS

Hi team, I have a typical problem with cgi pages in apache webserver in WINDOWS I am able to execute(display) the pages that are saved in cgi-bin folder. But I am not able to execute the pages stored in htdocs or other folder other than cgi-bin folder. Could anyone please let me know how... (1 Reply)
Discussion started by: scriptscript
1 Replies

4. Shell Programming and Scripting

Perl : to get all the hyperlinks from the xlsx sheet(hyperlinks not visible in excel sheet directly)

Hi folks, I have a requirement in perl to print all the hyperlink from the spreadsheet(xlsx). Spreadsheet contains few lines of hyperlink data (pic attached). P.S. Hyperlink is behind the data and not visible in excel sheet directly. Now using perl script I need to copy the hyperlinks in... (3 Replies)
Discussion started by: scriptscript
3 Replies

5. Shell Programming and Scripting

CGI in Perl

Hi, Am unfamiliar with using CGI modules in Perl. Though i checked in few sites about CGI , i dint get a clear idea. Can anyone please explain me the purpose of these statements, it ll be very helpful to me #!/usr/bin/perl use CGI qw/:standard/; use Storable; use Data::Dumper; my... (1 Reply)
Discussion started by: irudayaraj
1 Replies

6. Shell Programming and Scripting

Create download button using perl CGI

Hi, I want to insert in a page a .html button that - once it is clicked - opens a save file dialog box by using perl CGI . I know that to create a link to do that I've done : print $cgi->p ( { -class => 'linc' },);I want to do something similar for a download button (0 Replies)
Discussion started by: black_fender
0 Replies

7. Programming

CGI Perl script to execute bash script- unable to create folder

Hi I have a bash script which takes parameters sh /tmp/gdg.sh -b BASE-NAME -n 1 -s /source/data -p /dest/data/archive -m ARC gdg.sh will scan the /source/data and will move the contents to /dest/data/archive after passing through some filters. Its working superb from bash I have... (0 Replies)
Discussion started by: rakeshkumar
0 Replies

8. Web Development

problem with exporting vairable from one perl cgi to another perl cgi script while redirecting.

Can anyone tell me how to export a variable from one perl CGI script to another perl cgi script when using a redirect. Upon running the login.pl the user is prompted to enter user name and password. Upon entering the correct credentials (admin/admin) the user is redirected to welcome page. My... (3 Replies)
Discussion started by: Arun_Linux
3 Replies

9. Shell Programming and Scripting

Perl CGI Query

Hi All, This is quite a high level question so I appologise as if it sounds a bit woolly! I'm running a script via apache's cgi-bin that calls another Perl script (from a browser): http://192.168.000.000/cgi-bin/run_script.pl?SCRIPT=test.pl&text=RANDOM+TEXT&INPUT1=444444444444 This... (4 Replies)
Discussion started by: pondlife
4 Replies

10. Shell Programming and Scripting

Perl CGI.pm

my box is FreeBSD4.3 and I use Perl 5.0005_03. Here is the CGI script. test.cgi ...... if ($query->action eq 'detail') { ...... print $query->hidden('action', 'modify'); ...... } I found that the result of test.cgi?action=detail is not what I expected. the script does not... (4 Replies)
Discussion started by: tonyt
4 Replies
Login or Register to Ask a Question