WINFORM中的打印问题和导入EXCEL· 有2个地方需要打印,一个是控件dataGridView里的内容,一个是一个窗体里所有的内容····还有导入EXCEL我是新手,求代码教学···· 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/pfworld/archive/2008/01/22/2058746.aspx http://www.cnblogs.com/gaoliqing/archive/2008/06/18/1224823.html /// <summary> /// 导出Excel表格 /// </summary> /// <param name="data">DataTable</param> /// <param name="page">Page</param> /// <param name="columns">导出的列名中英文</param> /// <param name="title">表格的标题</param> /// <param name="fileName">导出的文件名</param> public void ExportExcel(DataTable data, Page page, string[] columns, string title, string fileName) { StringBuilder sb = new StringBuilder(); string[] chColumns = new string[] { };//中文标题 string[] enColumns = new string[] { };//对象属性 if (!string.IsNullOrEmpty(columns[0])) { chColumns = columns[0].Split(';'); enColumns = columns[1].Split(';'); } sb.Append("<meta HTTP-EQUIV=\"content-type\" CONTENT=\"text/html; charset=utf-8\"><table border=\"1\" cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\" >"); sb.Append("<tr><td colspan=\"" + enColumns.Length + "\" align=\"center\" style=\"font-size:24px; font-weight:bold;\">" + title + "</td></tr>"); sb.Append("<tr>"); //创建表头 if (chColumns.Length > 0) { for (int i = 0; i < chColumns.Length; i++) { sb.Append("<td align=\"center\" style=\"font-weight:bold;\">" + chColumns[i] + "</td>"); } } sb.Append("</tr>"); //添加内容 for (int i = 0; i < data.Rows.Count; i++) { sb.Append("<tr>"); for (int j = 0; j < enColumns.Length; j++) { sb.Append("<td align=\"center\">" +data.Rows[i][j].ToString() + "</td>"); //获取list对象中的属性值 } sb.Append("</tr>"); } sb.Append("</table>"); WriteFile(sb,page,fileName); } /// <summary> /// 将StringBuilder写入流 /// </summary> /// <param name="sb">StringBuilder对象</param> /// <param name="page">Page</param> /// <param name="fileName">导出文件名</param> private void WriteFile(StringBuilder sb,Page page,string fileName) { page.Response.Buffer = true; page.Response.Clear(); page.Response.ClearContent(); page.Response.ClearHeaders(); page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName + ".xls", System.Text.Encoding.UTF8)); page.Response.ContentType = "application/ms-excel"; page.Response.Charset = "UTF-8"; page.Response.HeaderEncoding = System.Text.Encoding.UTF8; page.Response.ContentEncoding = System.Text.Encoding.UTF8; System.IO.StringWriter writer = new System.IO.StringWriter(sb); System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer); //关闭流 htmlWriter.Close(); writer.Close(); //输出 page.Response.Write(writer); page.Response.End(); } 当前上下文中不存在名称“HttpUtility” 命名空间“System.Web”中不存在类型或命名空间名称“UI”。是否缺少程序集引用? 请问下这2个问题怎么解决···· http://cao416451347ming.blog.163.com/blog/static/115455616201093112520997/ 为什么有的时候点击一个按钮控件后,页面里的字会变大 发送邮件失败 gridview导出数据为pdf格式 C#新手问Button控件 click下如何获得 该button的 位置尺寸等信息 正则表达式分析网页图片问题 高分,求一c# winform 实例 c#怎么高效遍历文件 c#如何调用非托管动态库中导出的类 怎么把指针所指范围的数据复制到指定Byte[] 数组? 如何更新同主表关键字段为自增字段的两关系表到数据库?(问题没有解决) 正则式有关问题:这个正则式前面的(?m)什么含义 C#如何监视文件夹某个文件传输完成
/// 导出Excel表格
/// </summary>
/// <param name="data">DataTable</param>
/// <param name="page">Page</param>
/// <param name="columns">导出的列名中英文</param>
/// <param name="title">表格的标题</param>
/// <param name="fileName">导出的文件名</param>
public void ExportExcel(DataTable data, Page page, string[] columns, string title, string fileName)
{
StringBuilder sb = new StringBuilder(); string[] chColumns = new string[] { };//中文标题
string[] enColumns = new string[] { };//对象属性 if (!string.IsNullOrEmpty(columns[0]))
{
chColumns = columns[0].Split(';');
enColumns = columns[1].Split(';');
} sb.Append("<meta HTTP-EQUIV=\"content-type\" CONTENT=\"text/html; charset=utf-8\"><table border=\"1\" cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\" >");
sb.Append("<tr><td colspan=\"" + enColumns.Length + "\" align=\"center\" style=\"font-size:24px; font-weight:bold;\">" + title + "</td></tr>");
sb.Append("<tr>"); //创建表头
if (chColumns.Length > 0)
{
for (int i = 0; i < chColumns.Length; i++)
{
sb.Append("<td align=\"center\" style=\"font-weight:bold;\">" + chColumns[i] + "</td>");
}
}
sb.Append("</tr>"); //添加内容
for (int i = 0; i < data.Rows.Count; i++)
{
sb.Append("<tr>");
for (int j = 0; j < enColumns.Length; j++)
{
sb.Append("<td align=\"center\">" +data.Rows[i][j].ToString() + "</td>"); //获取list对象中的属性值
}
sb.Append("</tr>");
} sb.Append("</table>"); WriteFile(sb,page,fileName);
} /// <summary>
/// 将StringBuilder写入流
/// </summary>
/// <param name="sb">StringBuilder对象</param>
/// <param name="page">Page</param>
/// <param name="fileName">导出文件名</param>
private void WriteFile(StringBuilder sb,Page page,string fileName)
{
page.Response.Buffer = true;
page.Response.Clear();
page.Response.ClearContent();
page.Response.ClearHeaders(); page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName + ".xls", System.Text.Encoding.UTF8));
page.Response.ContentType = "application/ms-excel"; page.Response.Charset = "UTF-8";
page.Response.HeaderEncoding = System.Text.Encoding.UTF8;
page.Response.ContentEncoding = System.Text.Encoding.UTF8; System.IO.StringWriter writer = new System.IO.StringWriter(sb);
System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer); //关闭流
htmlWriter.Close();
writer.Close(); //输出
page.Response.Write(writer);
page.Response.End();
}
命名空间“System.Web”中不存在类型或命名空间名称“UI”。是否缺少程序集引用?
请问下这2个问题怎么解决····