有2个地方需要打印,一个是控件dataGridView里的内容,一个是一个窗体里所有的内容····还有导入EXCEL
我是新手,求代码教学····

解决方案 »

  1.   

    http://blog.csdn.net/pfworld/archive/2008/01/22/2058746.aspx
      

  2.   

    http://www.cnblogs.com/gaoliqing/archive/2008/06/18/1224823.html
      

  3.   

       /// <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();
            }
      

  4.   

    当前上下文中不存在名称“HttpUtility”
    命名空间“System.Web”中不存在类型或命名空间名称“UI”。是否缺少程序集引用?
    请问下这2个问题怎么解决····
      

  5.   

    http://cao416451347ming.blog.163.com/blog/static/115455616201093112520997/