打印datagrid里面的数据到excel.word中
1.
2.调用的打印类
private void Button1_Click(object sender, System.EventArgs e)
{
PrintClass pr=new PrintClass();
Response.Write(pr.DGPrint(db.GetDataSetSQL(selectstring2)));
}
1.
1
public void databind()
2
{
3
string selectstring="select * from BudgetUnit ";
4
this.DataGrid1.DataSource=db.GetDataSetSQL(selectstring);
5
this.DataGrid1.DataBind();
6
7
}
8
private void Button1_Click(object sender, System.EventArgs e)
9
{
10
11
PrintClass pr=new PrintClass();
12
Response.Write(pr.DGPrint(db.GetDataSetSQL(selectstring2)));
13
}
14
15
private void Button2_Click(object sender, System.EventArgs e)
16
{
17
this.DataGrid1.DataSource=db.GetDatatable(selectstring2);
18
this.DataGrid1.DataBind();
19
//Response.ContentType="application/vnd.ms-excel";
20
//Response.AddHeader("Content=Disposition","incline;filename=BrowerExcel.xls");
21
//如果输出未word,修改为以下代码
22
Response.ContentType="appliciation/ms-word";
23
Response.AddHeader("Content=Disposition","incline;filename=test.doc");
24
StringBuilder sb=new StringBuilder();
25
System.IO.StringWriter sw=new System.IO.StringWriter(sb);
26
System.Web.UI.HtmlTextWriter hw=new HtmlTextWriter(sw);
27
sb.Append("<html><body>");
28
this.DataGrid1.RenderControl(hw);
29
sb.Append("</body></html>");
30
Response.Write(sb.ToString());
31
Response.End();
32
}
33
34
}
public void databind()2
{3
string selectstring="select * from BudgetUnit ";4
this.DataGrid1.DataSource=db.GetDataSetSQL(selectstring);5
this.DataGrid1.DataBind();6
7
}8
private void Button1_Click(object sender, System.EventArgs e)9
{10
11
PrintClass pr=new PrintClass();12
Response.Write(pr.DGPrint(db.GetDataSetSQL(selectstring2)));13
}14

15
private void Button2_Click(object sender, System.EventArgs e)16
{17
this.DataGrid1.DataSource=db.GetDatatable(selectstring2);18
this.DataGrid1.DataBind();19
//Response.ContentType="application/vnd.ms-excel";20
//Response.AddHeader("Content=Disposition","incline;filename=BrowerExcel.xls");21
//如果输出未word,修改为以下代码22
Response.ContentType="appliciation/ms-word";23
Response.AddHeader("Content=Disposition","incline;filename=test.doc");24
StringBuilder sb=new StringBuilder();25
System.IO.StringWriter sw=new System.IO.StringWriter(sb);26
System.Web.UI.HtmlTextWriter hw=new HtmlTextWriter(sw);27
sb.Append("<html><body>");28
this.DataGrid1.RenderControl(hw);29
sb.Append("</body></html>");30
Response.Write(sb.ToString());31
Response.End();32
}33

34
}2.调用的打印类
1
using System;
2
using System.Collections;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Web;
7
using System.Web.SessionState;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.HtmlControls;
11
using System.Text;
12
namespace GkzfWebUI.testtest
13
{
14
/// <summary>
15
/// PrintClass 的摘要说明。
16
/// </summary>
17
public class PrintClass : System.Web.UI.Page
18
{
19
public PrintClass()
20
{
21
//
22
// TODO: 在此处添加构造函数逻辑
23
//
24
}
25
/// <summary>
26
/// 拼出要打印的表
27
/// </summary>
28
/// <param name="ds">DATASET</param>
29
/// <param name="dg">DATAGRID</param>
30
/// <returns></returns>
31
public string DGPrint(DataSet ds)
32
{
33
//*************************************************************//
34
35
DataTable myDataTable=new DataTable();
36
myDataTable=ds.Tables[0];
37
38
int myRow=myDataTable.Rows.Count;
39
int myCol=myDataTable.Columns.Count;
40
41
StringBuilder sb=new StringBuilder();
42
43
string colHeaders="<html><body>"+
44
"<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'VIEWASTEXT></object>"
45
+"<table><tr>";
46
47
for(int i=0;i<myCol;i++)
48
{
49
colHeaders +="<td>"+ myDataTable.Columns[i].ColumnName.ToString()+"</td>";
50
}
51
colHeaders += "</tr>";
52
sb.Append(colHeaders);
53
54
for(int i=0;i<myRow;i++)
55
{
56
sb.Append("<tr>");
57
for(int j=0;j<myCol;j++)
58
{
59
sb.Append("<td>");
60
sb.Append(myDataTable.Rows[i][j].ToString().Trim());
61
sb.Append("</td>");
62
}
63
sb.Append("</tr>");
64
}
65
66
sb.Append("</table></body></html>");
67
colHeaders=sb.ToString();
68
colHeaders+="<script languge='javascript'>WebBrowser.ExecWB(7,1); window.opener=null;window.close();</script>" ;
69
return(colHeaders);
70
//*************************************************************//
71
72
}
73
74
/// <summary>
75
/// 拼出要打印的表
76
/// </summary>
77
/// <param name="dg">datagrid</param>
78
/// <returns></returns>
79
public string DGPrint(DataGrid dg)
80
{
81
int myRow=dg.Items.Count;
82
int myCol=dg.Columns.Count;
83
StringBuilder sb=new StringBuilder();
84
85
string colHeaders="<html><body>"+
86
"<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'VIEWASTEXT></object>"
87
+"<table><tr>";
88
89
for(int i=0;i<myCol;i++)
90
{
91
colHeaders +="<td>"+ dg.Columns[i].HeaderText.ToString()+"</td>";
92
}
93
colHeaders += "</tr>";
94
sb.Append(colHeaders);
95
96
for(int i=0;i<myRow;i++)
97
{
98
sb.Append("<tr>");
99
for(int j=0;j<myCol;j++)
100
{
101
sb.Append("<td>");
102
sb.Append(dg.Items[i].Cells[j].Text.Trim());
103
sb.Append("</td>");
104
}
105
sb.Append("</tr>");
106
}
107
sb.Append("</table></body></html>");
108
colHeaders=sb.ToString();
109
colHeaders+="<script languge='javascript'>WebBrowser.ExecWB(7,1); window.opener=null;window.close();</script>" ;
110
return(colHeaders);
111
}
112
113
}
114
}
115
3.直接调用打印类
using System;2
using System.Collections;3
using System.ComponentModel;4
using System.Data;5
using System.Drawing;6
using System.Web;7
using System.Web.SessionState;8
using System.Web.UI;9
using System.Web.UI.WebControls;10
using System.Web.UI.HtmlControls;11
using System.Text;12
namespace GkzfWebUI.testtest13
{14
/// <summary>15
/// PrintClass 的摘要说明。16
/// </summary>17
public class PrintClass : System.Web.UI.Page18
{19
public PrintClass()20
{21
//22
// TODO: 在此处添加构造函数逻辑23
//24
}25
/// <summary>26
/// 拼出要打印的表27
/// </summary>28
/// <param name="ds">DATASET</param>29
/// <param name="dg">DATAGRID</param>30
/// <returns></returns>31
public string DGPrint(DataSet ds)32
{33
//*************************************************************//34

35
DataTable myDataTable=new DataTable();36
myDataTable=ds.Tables[0];37

38
int myRow=myDataTable.Rows.Count; 39
int myCol=myDataTable.Columns.Count;40

41
StringBuilder sb=new StringBuilder(); 42
43
string colHeaders="<html><body>"+44
"<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'VIEWASTEXT></object>"45
+"<table><tr>"; 46

47
for(int i=0;i<myCol;i++)48
{ 49
colHeaders +="<td>"+ myDataTable.Columns[i].ColumnName.ToString()+"</td>";50
}51
colHeaders += "</tr>";52
sb.Append(colHeaders);53

54
for(int i=0;i<myRow;i++)55
{ 56
sb.Append("<tr>");57
for(int j=0;j<myCol;j++)58
{59
sb.Append("<td>");60
sb.Append(myDataTable.Rows[i][j].ToString().Trim());61
sb.Append("</td>");62
}63
sb.Append("</tr>"); 64
}65

66
sb.Append("</table></body></html>"); 67
colHeaders=sb.ToString(); 68
colHeaders+="<script languge='javascript'>WebBrowser.ExecWB(7,1); window.opener=null;window.close();</script>" ;69
return(colHeaders);70
//*************************************************************//71
72
}73

74
/// <summary>75
/// 拼出要打印的表76
/// </summary>77
/// <param name="dg">datagrid</param>78
/// <returns></returns>79
public string DGPrint(DataGrid dg)80
{81
int myRow=dg.Items.Count; 82
int myCol=dg.Columns.Count;83
StringBuilder sb=new StringBuilder(); 84
85
string colHeaders="<html><body>"+86
"<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'VIEWASTEXT></object>"87
+"<table><tr>"; 88

89
for(int i=0;i<myCol;i++)90
{91
colHeaders +="<td>"+ dg.Columns[i].HeaderText.ToString()+"</td>";92
}93
colHeaders += "</tr>";94
sb.Append(colHeaders);95

96
for(int i=0;i<myRow;i++)97
{ 98
sb.Append("<tr>");99
for(int j=0;j<myCol;j++)100
{101
sb.Append("<td>");102
sb.Append(dg.Items[i].Cells[j].Text.Trim());103
sb.Append("</td>");104
}105
sb.Append("</tr>"); 106
}107
sb.Append("</table></body></html>"); 108
colHeaders=sb.ToString(); 109
colHeaders+="<script languge='javascript'>WebBrowser.ExecWB(7,1); window.opener=null;window.close();</script>" ;110
return(colHeaders);111
}112

113
}114
}115

private void Button1_Click(object sender, System.EventArgs e)
{
PrintClass pr=new PrintClass();
Response.Write(pr.DGPrint(db.GetDataSetSQL(selectstring2)));
}

浙公网安备 33010602011771号