Hi,
I have a web page which generates a CSV file based on some user input. When
this file is downloaded by the user, the file is being automatically
converted to .xls. Any idea how I can prevent this?
My code (snippet) -
StreamWriter sw;
if(File.Exists(filename))
File.Delete(filename);
sw = File.CreateText(filename);
string values="\"File Name\",\"Name\",\"Description\",\"Is Customizable\"";
try
{
foreach(DataRow dr in dt.Rows)
{
for(int i=0; i<dt.Columns.Count; i++)
values += ",\"" + dr[i].ToString() +"\"";
}
values += ",\"Document Type\",\"Category\"";
sw.WriteLine(values);
}
catch(Exception ex)
{
//Show error msg
sw.Close();
return;
}
sw.Close();
//Show success message
filename = DMS.Global.site_config.getAttribute("base_href") +
@"/temporary_files/file_import.csv";
//hiddenlbl is an asp Label which is invisible when page is loaded
//The following code is for the file download popup
string htmlinput = "<iframe id='downloadFrame' src = '" + filename + "'";
htmlinput += " style='display:none'></iframe>";
hiddenlbl.Visible = true;
hiddenlbl.Text = htmlinput; 6 3041
On 8/10/2004 2:37 PM, Divya wrote: Hi,
I have a web page which generates a CSV file based on some user input. When this file is downloaded by the user, the file is being automatically converted to .xls. Any idea how I can prevent this?
My code (snippet) -
StreamWriter sw; if(File.Exists(filename)) File.Delete(filename); sw = File.CreateText(filename); string values="\"File Name\",\"Name\",\"Description\",\"Is Customizable\""; try { foreach(DataRow dr in dt.Rows) { for(int i=0; i<dt.Columns.Count; i++) values += ",\"" + dr[i].ToString() +"\""; } values += ",\"Document Type\",\"Category\""; sw.WriteLine(values); } catch(Exception ex) { //Show error msg sw.Close(); return; } sw.Close(); //Show success message
filename = DMS.Global.site_config.getAttribute("base_href") + @"/temporary_files/file_import.csv";
//hiddenlbl is an asp Label which is invisible when page is loaded //The following code is for the file download popup string htmlinput = "<iframe id='downloadFrame' src = '" + filename + "'"; htmlinput += " style='display:none'></iframe>"; hiddenlbl.Visible = true; hiddenlbl.Text = htmlinput;
I don't know if there's much you can do; by default I believe Excel
grabs CSV files, so it's a client-side issue (the client makes the
request, sees a CSV and in Windows CSVs are opened by Excel). You could
try renaming it to a .txt file instead....
--
Craig Deelsnyder
Microsoft MVP - ASP/ASP.NET
Craig,
I think I did not explain the problem correctly. To demonstrate my problem,
I have created a sample project.....to access it, click on the link below - http://192.168.1.155/CSVGenerator/csv.aspx
I created the file_import.csv file and included it under this project. But,
when the user tries to download it, .net converts it to file_import.xls. This
is what I am trying to avoid.......
any comments?
-Divya
"Craig Deelsnyder" wrote: On 8/10/2004 2:37 PM, Divya wrote: Hi,
I have a web page which generates a CSV file based on some user input. When this file is downloaded by the user, the file is being automatically converted to .xls. Any idea how I can prevent this?
My code (snippet) -
StreamWriter sw; if(File.Exists(filename)) File.Delete(filename); sw = File.CreateText(filename); string values="\"File Name\",\"Name\",\"Description\",\"Is Customizable\""; try { foreach(DataRow dr in dt.Rows) { for(int i=0; i<dt.Columns.Count; i++) values += ",\"" + dr[i].ToString() +"\""; } values += ",\"Document Type\",\"Category\""; sw.WriteLine(values); } catch(Exception ex) { //Show error msg sw.Close(); return; } sw.Close(); //Show success message
filename = DMS.Global.site_config.getAttribute("base_href") + @"/temporary_files/file_import.csv";
//hiddenlbl is an asp Label which is invisible when page is loaded //The following code is for the file download popup string htmlinput = "<iframe id='downloadFrame' src = '" + filename + "'"; htmlinput += " style='display:none'></iframe>"; hiddenlbl.Visible = true; hiddenlbl.Text = htmlinput; I don't know if there's much you can do; by default I believe Excel grabs CSV files, so it's a client-side issue (the client makes the request, sees a CSV and in Windows CSVs are opened by Excel). You could try renaming it to a .txt file instead....
-- Craig Deelsnyder Microsoft MVP - ASP/ASP.NET
Divya,
that's an internal ip on your network (192.168.n.n range). In any case, I
think Craig gave you the correct answer - this is a client side issue -
Excel is handling the .csv file type - try renaming the file on the disk to
a .txt file as Craig suggests and see what happens.
Steve
"Divya" <Di***@discussions.microsoft.com> wrote in message
news:11**********************************@microsof t.com... Craig,
I think I did not explain the problem correctly. To demonstrate my
problem, I have created a sample project.....to access it, click on the link
below - http://192.168.1.155/CSVGenerator/csv.aspx
I created the file_import.csv file and included it under this project.
But, when the user tries to download it, .net converts it to file_import.xls.
This is what I am trying to avoid....... any comments?
-Divya
"Craig Deelsnyder" wrote:
On 8/10/2004 2:37 PM, Divya wrote: Hi,
I have a web page which generates a CSV file based on some user input.
When this file is downloaded by the user, the file is being automatically converted to .xls. Any idea how I can prevent this?
My code (snippet) -
StreamWriter sw; if(File.Exists(filename)) File.Delete(filename); sw = File.CreateText(filename); string values="\"File Name\",\"Name\",\"Description\",\"Is
Customizable\""; try { foreach(DataRow dr in dt.Rows) { for(int i=0; i<dt.Columns.Count; i++) values += ",\"" + dr[i].ToString() +"\""; } values += ",\"Document Type\",\"Category\""; sw.WriteLine(values); } catch(Exception ex) { //Show error msg sw.Close(); return; } sw.Close(); //Show success message
filename = DMS.Global.site_config.getAttribute("base_href") + @"/temporary_files/file_import.csv";
//hiddenlbl is an asp Label which is invisible when page is loaded //The following code is for the file download popup string htmlinput = "<iframe id='downloadFrame' src = '" + filename +
"'"; htmlinput += " style='display:none'></iframe>"; hiddenlbl.Visible = true; hiddenlbl.Text = htmlinput; I don't know if there's much you can do; by default I believe Excel grabs CSV files, so it's a client-side issue (the client makes the request, sees a CSV and in Windows CSVs are opened by Excel). You could try renaming it to a .txt file instead....
-- Craig Deelsnyder Microsoft MVP - ASP/ASP.NET
Craig,
Try
this...... http://192.168.1.155/CSVGenerator/te...ile_import.csv
even though u will try to access a csv file, the download popup will ask u
....... "do u want to save file_import.xls?" Is there anyway I could preserve
the csv in the download popup?
-Divya
"Divya" wrote: Craig,
I think I did not explain the problem correctly. To demonstrate my problem, I have created a sample project.....to access it, click on the link below - http://192.168.1.155/CSVGenerator/csv.aspx
I created the file_import.csv file and included it under this project. But, when the user tries to download it, .net converts it to file_import.xls. This is what I am trying to avoid....... any comments?
-Divya
"Craig Deelsnyder" wrote:
On 8/10/2004 2:37 PM, Divya wrote: Hi,
I have a web page which generates a CSV file based on some user input. When this file is downloaded by the user, the file is being automatically converted to .xls. Any idea how I can prevent this?
My code (snippet) -
StreamWriter sw; if(File.Exists(filename)) File.Delete(filename); sw = File.CreateText(filename); string values="\"File Name\",\"Name\",\"Description\",\"Is Customizable\""; try { foreach(DataRow dr in dt.Rows) { for(int i=0; i<dt.Columns.Count; i++) values += ",\"" + dr[i].ToString() +"\""; } values += ",\"Document Type\",\"Category\""; sw.WriteLine(values); } catch(Exception ex) { //Show error msg sw.Close(); return; } sw.Close(); //Show success message
filename = DMS.Global.site_config.getAttribute("base_href") + @"/temporary_files/file_import.csv";
//hiddenlbl is an asp Label which is invisible when page is loaded //The following code is for the file download popup string htmlinput = "<iframe id='downloadFrame' src = '" + filename + "'"; htmlinput += " style='display:none'></iframe>"; hiddenlbl.Visible = true; hiddenlbl.Text = htmlinput; I don't know if there's much you can do; by default I believe Excel grabs CSV files, so it's a client-side issue (the client makes the request, sees a CSV and in Windows CSVs are opened by Excel). You could try renaming it to a .txt file instead....
-- Craig Deelsnyder Microsoft MVP - ASP/ASP.NET
On Tue, 10 Aug 2004 22:38:32 +0100, Steve Willcock
<st***@N-O-S-P-A-Mwillcockconsulting.com> wrote: Divya,
that's an internal ip on your network (192.168.n.n range). In any case, I think Craig gave you the correct answer - this is a client side issue - Excel is handling the .csv file type - try renaming the file on the disk to a .txt file as Craig suggests and see what happens.
Steve
"Divya" <Di***@discussions.microsoft.com> wrote in message news:11**********************************@microsof t.com... Craig,
I think I did not explain the problem correctly. To demonstrate my problem, I have created a sample project.....to access it, click on the link below - http://192.168.1.155/CSVGenerator/csv.aspx
I created the file_import.csv file and included it under this project. But, when the user tries to download it, .net converts it to file_import.xls. This is what I am trying to avoid....... any comments?
-Divya
"Craig Deelsnyder" wrote:
> On 8/10/2004 2:37 PM, Divya wrote: > > Hi, > > > > I have a web page which generates a CSV file based on some user input. When > > this file is downloaded by the user, the file is being automatically > > converted to .xls. Any idea how I can prevent this? > > > > My code (snippet) - > > > > StreamWriter sw; > > if(File.Exists(filename)) > > File.Delete(filename); > > sw = File.CreateText(filename); > > string values="\"File Name\",\"Name\",\"Description\",\"Is Customizable\""; > > try > > { > > foreach(DataRow dr in dt.Rows) > > { > > for(int i=0; i<dt.Columns.Count; i++) > > values += ",\"" + dr[i].ToString() +"\""; > > } > > values += ",\"Document Type\",\"Category\""; > > sw.WriteLine(values); > > } > > catch(Exception ex) > > { > > //Show error msg > > sw.Close(); > > return; > > } > > sw.Close(); > > //Show success message > > > > filename = DMS.Global.site_config.getAttribute("base_href") + > > @"/temporary_files/file_import.csv"; > > > > //hiddenlbl is an asp Label which is invisible when page is loaded > > //The following code is for the file download popup > > string htmlinput = "<iframe id='downloadFrame' src = '" + filename + "'"; > > htmlinput += " style='display:none'></iframe>"; > > hiddenlbl.Visible = true; > > hiddenlbl.Text = htmlinput; > > > I don't know if there's much you can do; by default I believe Excel > grabs CSV files, so it's a client-side issue (the client makes the > request, sees a CSV and in Windows CSVs are opened by Excel). You could > try renaming it to a .txt file instead.... > > -- > Craig Deelsnyder > Microsoft MVP - ASP/ASP.NET >
if you're getting a download dialog, either the server is sending the
content as type octet-stream (which is not the case here), or the user's
browser does not have a default action for the type of file you have
loaded in the document window. meaning either Excel (or another app that
can handle csv files) is not loaded on the machine, or a browser like
firefox, that prompts for unknown MIME types.
i'm not sure what you mean by converting to .xls, is the popup/download
dialog saying that as the default name? I assumed Excel was trying to
open it; AFAIK from the server side it either gets defaulted to the same
name as the page containing the iframe, or the name of the src document of
the iframe itself. Which is why i don't see where .xls is coming from...
if you are trying to force a download, I might recommend this approach
instead or as another option to try: http://www.ondotnet.com/pub/a/dotnet...04/01/asp.html
Create a page that utilizes the download example there and set that as the
source of the iframe. Another method to try. But this approach shows how
to set default filenames, although if I remember right, this
content-disposition header may be 'going out of style' with browsers in
the future....
--
Craig Deelsnyder
Microsoft MVP - ASP/ASP.NET
I think you explained the problem fine. I think maybe you didn't understand
Craig's answer. Here's the thing. On your computer, let's say you
double-click a file with a .txt extension. It will open in NotePad. It
doesn't "become a NotePad file." It is opened in NotePad because the
Operating System recognizes the file extension, and opens the file in the
designated program for that Operating System. When Excel opens a .csv file,
it doesn't convert it to an Excel file format. It merely creates an Excel
document in memory, and uses that to parse and display the .csv file. You
would have to save it as "file_import.xls" in order to convert it.
--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Big things are made up
of lots of little things.
"Divya" <Di***@discussions.microsoft.com> wrote in message
news:11**********************************@microsof t.com... Craig,
I think I did not explain the problem correctly. To demonstrate my
problem, I have created a sample project.....to access it, click on the link
below - http://192.168.1.155/CSVGenerator/csv.aspx
I created the file_import.csv file and included it under this project.
But, when the user tries to download it, .net converts it to file_import.xls.
This is what I am trying to avoid....... any comments?
-Divya
"Craig Deelsnyder" wrote:
On 8/10/2004 2:37 PM, Divya wrote: Hi,
I have a web page which generates a CSV file based on some user input.
When this file is downloaded by the user, the file is being automatically converted to .xls. Any idea how I can prevent this?
My code (snippet) -
StreamWriter sw; if(File.Exists(filename)) File.Delete(filename); sw = File.CreateText(filename); string values="\"File Name\",\"Name\",\"Description\",\"Is
Customizable\""; try { foreach(DataRow dr in dt.Rows) { for(int i=0; i<dt.Columns.Count; i++) values += ",\"" + dr[i].ToString() +"\""; } values += ",\"Document Type\",\"Category\""; sw.WriteLine(values); } catch(Exception ex) { //Show error msg sw.Close(); return; } sw.Close(); //Show success message
filename = DMS.Global.site_config.getAttribute("base_href") + @"/temporary_files/file_import.csv";
//hiddenlbl is an asp Label which is invisible when page is loaded //The following code is for the file download popup string htmlinput = "<iframe id='downloadFrame' src = '" + filename +
"'"; htmlinput += " style='display:none'></iframe>"; hiddenlbl.Visible = true; hiddenlbl.Text = htmlinput; I don't know if there's much you can do; by default I believe Excel grabs CSV files, so it's a client-side issue (the client makes the request, sees a CSV and in Windows CSVs are opened by Excel). You could try renaming it to a .txt file instead....
-- Craig Deelsnyder Microsoft MVP - ASP/ASP.NET This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Raphael A. Bauer |
last post by:
Hi,
I am just using this Java code:
----------
//Read it => automatically converts it to UTF-8
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder...
|
by: bartek |
last post by:
Please consider the following scenario below (sketch of).
There are two templates defined: A and B, both with mutual conversion
operators defined.
Also, there's a free function template...
|
by: jon morgan |
last post by:
Hello,
In an MDI application how can I prevent the CLR automatically merging a
child windows' menu with that of the parent MDI form ?
Thanks for any help
Jon
|
by: jmd |
last post by:
Hello, I posted the following in the C# forum but without one answer.
But perhaps now in vb.net someone has some guidelines !
This is my question :
I want to write a vb.net program that does...
|
by: Francesc |
last post by:
Hi, I'm new at this newsgroup and I want do ask some questions and
opinions about this subject.
I'm developing an application focused in a very specific task: clean
and labelling text documents...
|
by: ABC |
last post by:
Is there any best solution automatic delete file within the special time?
My web application can generate many pdf files for users. Because there are
many users, I need to control the total...
|
by: ray |
last post by:
I have a client that doesn't want Access to automatically repair into a
backup file if it crashes (and it crashes only on very rare occasions).
My (sketchy) understanding is that this is a...
|
by: Partha Mandayam |
last post by:
Is there a tool for asp.net 1.1 to asp.net 2.0 automatic conversion?
|
by: Markus Dehmann |
last post by:
I think this is a question about automatic type conversion, but I
didn't find the answer after googling for these words ...
I have a class called Value (source see below) which can hold an int...
|
by: taylorcarr |
last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
| |