asp.net里将table里面的数据导入到Excel模板里
继续需求帮助,这个问题已经挂了N天了,但是一直没解决~_~
这个问题比较复杂
在一个页面中有一个复选框:
例如:
口 雇用合同书
口 个人资料书
口 个人账号信息
口 上下班工资申请书
要求,选择相应的信息(这些都是在table中,格式特别复杂,并且每个table的格式不同),在本页面上打印相应的内容
并且要求分页。
例如:选择了个人资料和个人账号就要分页打印个人资料和个人账号
在Excel中建立一个和Table一样的格式,
我想将table里面的数据(及格式)都导入到Excel里面
请大家相助呀(要求asp.net(C#))
不知道如何实现?
问题点数:30、回复次数:9Top
1 楼webwait(webwei)回复于 2006-03-16 18:04:45 得分 20
孟子E章的:
将DataGrid中得数据导入到Excel,假定aspx中已有一个DataGrid及一个Botton
以下是.cs文件中主要代码:
1.绑定DataGrid:
DataGrid1.DataSource=CreateDataSource();
DataGrid1.DataBind();
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("身份证号码", typeof(string)));
dt.Columns.Add(new DataColumn("图书单价",typeof(decimal)));
dt.Columns.Add(new DataColumn("购买数量",typeof(Int32)));
dt.Columns.Add(new DataColumn("总价格",typeof(decimal)));
for (int i = 0; i < 30; i++)
{
dr = dt.NewRow();
dr[0] = "123456789123456789";
dr[1] = 100 * i /3.0;
dr[2] = i + 5;
dr[3] = (decimal)dr[1] * (Int32)dr[2];
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
2.输出Excel文件,会出现提示下载框
private void Button1_Click(object sender, System.EventArgs e)
{
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);
Response.Write(oStringWriter.ToString());
Response.End();
}
Top
2 楼zhangmeimei(雪薇)回复于 2006-03-17 13:11:18 得分 0
谢谢你的解答,但是我的表格格式特别复杂,不是DataGrid,如果把数据导入到DataGrid然后再格式化,估计不能实现。因为这是没有规律的表。并且还有分页,分页的位置也是固定的,不是随便的。
Top
3 楼zhangmeimei(雪薇)回复于 2006-03-17 13:50:38 得分 0
顶一下,估计肯定有人做过,怎么没有回答的?Top
4 楼xieyun9958(ぁ唯有魅影ぁ)回复于 2006-03-17 14:07:07 得分 0
好像孟子E章这样写输出EXCEL的话,如果是中文的话会出现乱码?Top
5 楼zhangmeimei(雪薇)回复于 2006-03-17 14:16:16 得分 0
但是我要求的是:不但数据输出,并且格式也要输出,这种方式好像不行的Top
6 楼bookshop(我是比儿(http://www.crossgo.com))回复于 2006-03-17 14:21:37 得分 5
你这个是web打印,一般可以用webbrowser控件或者另外写插件,我以前做了一个类似的打印,但是没有对各区分页打印出来,我觉得分也你只要在打印按钮点之前对打印内容进行预处理下以达到一页大小,另外采用CSS一些打印控制也有相关资料的Top
7 楼zhangmeimei(雪薇)回复于 2006-03-17 15:31:54 得分 0
谢谢楼上,
我现在想的一个方案是:我先建立一个Excel文档,然后分四个工作表,Top
8 楼webwait(webwei)回复于 2006-03-17 16:36:05 得分 5
我用过,中文显示没问题,只是我的表没这么麻烦
改动孟子E章的源码应该能实现你的效果Top
9 楼zhangmeimei(雪薇)回复于 2006-03-17 16:56:51 得分 0
上面的这个是能运行
但是对于格式的导入以及分页的显示不好调节Top




