////////一、写sample.xls
//创建Application对象
Excel.Application xApp=new Excel.ApplicationClass();
xApp.Visible=true;
//得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件
Excel.Workbook xBook=xApp.Workbooks._Open(@"D:\Sample.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value
,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//xBook=xApp.Workbooks.Add(Missing.Value);//第二种方法:新建文件的代码
//指定要操作的Sheet,两种方式:
Excel.Worksheet xSheet=(Excel.Worksheet)xBook.Sheets[1]; //1
//Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet; //2
//读取数据,通过Range对象
Excel.Range rng1=xSheet.get_Range("A1",Type.Missing);
Console.WriteLine(rng1.Value2);
//读取,通过Range对象,但使用不同的接口得到Range
Excel.Range rng2=(Excel.Range)xSheet.Cells[3,1];
Console.WriteLine(rng2.Value2);
//写入数据
Excel.Range rng3=xSheet.get_Range("C6",Missing.Value);
rng3.Value2="Hello";
rng3.Interior.ColorIndex=6; //设置Range的背景色
//保存方式一:保存WorkBook
//xBook.SaveAs(@"D:\CData.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value
// ,Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value
//,Missing.Value,Missing.Value);
//保存方式二:保存WorkSheet
//xSheet.SaveAs(@"D:\CData2.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value
//,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//保存方式三
xBook.Save();
xSheet=null;
xBook=null;
xApp.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
xApp=null;
/////////////////////////////////////////////////
二、以下代码是把datagrid的内容导到EXCEL,并下载到客户端。
//这个程序会提示下载,并打开一个filename.xls的文件
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.DataGrid1.RenderControl(oHtmlTextWriter); /////////////datagrid1
Response.Write(oStringWriter.ToString());
Response.End();
//////////////////////////////////
初学ASP.NET
我想问怎么把这两段代码结合起来,
即:怎么把服务端写好的EXCEL模板(例如一中的sample.xls)下载到客户端打开?
具体的代码怎么写?直接把上面的this.DataGrid1改成d:\sample.xls不行吧.
另外,EXCEL文件下载时提示保存、打开、取消,怎么不让这个界面出来而直接打开?
13 个解决方案
#1
顶一下
#2
up
#3
window.open(filename)
#4
ding
#5
如果是直接连接下载的话,
“EXCEL文件下载时提示保存、打开、取消,不让这个界面出来而直接打开”
好象不行。
……论坛也有好多人问这样的问题(类似WORD下载不弹出那个界面)
去搜一下能不能嵌入到网页里去。
“EXCEL文件下载时提示保存、打开、取消,不让这个界面出来而直接打开”
好象不行。
……论坛也有好多人问这样的问题(类似WORD下载不弹出那个界面)
去搜一下能不能嵌入到网页里去。
#6
直接连接吧
#7
up
#8
顶,
如果客户端没有EXCEL的话,只能下载啦
如果客户端没有EXCEL的话,只能下载啦
#9
如果客户端有excel,就可以直接打开吗?
#10
ding
#11
up
#12
up
#13
第二种方法,你在服务器生成了excel文件后,ie应该会提示你保存还是打开啊..然后你在保存到你想保存到的位置久可以了啊,
我做的就是这个效果
我做的就是这个效果
#1
顶一下
#2
up
#3
window.open(filename)
#4
ding
#5
如果是直接连接下载的话,
“EXCEL文件下载时提示保存、打开、取消,不让这个界面出来而直接打开”
好象不行。
……论坛也有好多人问这样的问题(类似WORD下载不弹出那个界面)
去搜一下能不能嵌入到网页里去。
“EXCEL文件下载时提示保存、打开、取消,不让这个界面出来而直接打开”
好象不行。
……论坛也有好多人问这样的问题(类似WORD下载不弹出那个界面)
去搜一下能不能嵌入到网页里去。
#6
直接连接吧
#7
up
#8
顶,
如果客户端没有EXCEL的话,只能下载啦
如果客户端没有EXCEL的话,只能下载啦
#9
如果客户端有excel,就可以直接打开吗?
#10
ding
#11
up
#12
up
#13
第二种方法,你在服务器生成了excel文件后,ie应该会提示你保存还是打开啊..然后你在保存到你想保存到的位置久可以了啊,
我做的就是这个效果
我做的就是这个效果