.net 导出Excel,设置Excel页眉及单元格换行方法

news/2025/1/15 1:50:16/

/// <summary> /// 从GridView导出 /// </summary> /// <param name="ds">导出的数据集</param> /// <param name="path">导出的路径</param> /// <returns></returns> public string Export(DataSet ds, string path) { GridView GV = new GridView();//实例化一个Gridview try { GV.DataSource = ds; GV.AllowPaging = false;//禁止分页 GV.DataBind();//绑定数据 // GV.HeaderStyle.Height = 30;//设置表头的行高 GV.HeaderStyle.Font.Size = 10; //GV.HeaderStyle.BackColor = System.Drawing.Color.Gray;//设置表头的背景色 // GV.HeaderStyle.Font.Bold = true;//设置表头加粗 GV.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;//设置表头居中 // GV.BackColor = System.Drawing.Color.FromArgb(255, 255, 153);//设置背景色 GV.HorizontalAlign = HorizontalAlign.Center;//设置居中 GV.RowStyle.HorizontalAlign = HorizontalAlign.Center;//设置居中 GV.RowStyle.Font.Size = 10; GV.HeaderRow.Cells[1].Width = 140;//部门 if (drpType.SelectedValue == "1") { GV.HeaderRow.Cells[5].Width = 90; GV.HeaderRow.Cells[6].Width = 90; GV.HeaderRow.Cells[8].Width = 90; GV.HeaderRow.Cells[9].Width = 180; } if (drpType.SelectedValue == "2") { GV.HeaderRow.Cells[4].Width = 70; GV.HeaderRow.Cells[5].Width = 85; GV.HeaderRow.Cells[6].Width = 90; } if (drpType.SelectedValue == "3") { GV.HeaderRow.Cells[5].Width = 90; GV.HeaderRow.Cells[6].Width = 90; GV.HeaderRow.Cells[8].Width = 90;

                GV.HeaderRow.Cells[7].Width = 100; GV.HeaderRow.Cells[9].Width = 180; } if (drpType.SelectedValue == "4") { GV.HeaderRow.Cells[4].Width = 90; GV.HeaderRow.Cells[5].Width = 90; GV.HeaderRow.Cells[8].Width = 90;

                GV.HeaderRow.Cells[6].Width = 65; GV.HeaderRow.Cells[9].Width = 280; } if (drpType.SelectedValue == "5") { GV.HeaderRow.Cells[1].Width = 250; } OutPutExcel(GV, Page, path); return "导出成功!"; } catch (Exception exc) { return exc.Message;//捕捉异常信息 } }

 #region 将控件内容导出到excel
/// <summary>
/// 将控件内容导出到excel
/// </summary>
/// <param name="ExportObj">需要导出内容的控件</param>
/// <param name="page">提供Reponse事件的page</param>
/// <param name="fileName">导出的文件名</param>
public void OutPutExcel(System.Web.UI.Control ExportObj, System.Web.UI.Page page, string fileName)
{
//定义文档类型、字符编码
page.Response.Clear();
page.Response.Buffer = true;
page.Response.Charset = "GB2312";
//下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
//filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc    .xls    .txt   .htm
page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
//Response.ContentType指定文件类型 可以为application/ms-excel、application/ms-word、application/ms-txt、application/ms-html 或其他浏览器可直接支持文档
page.Response.ContentType = "application/ms-excel";
System.Globalization.CultureInfo cult = new System.Globalization.CultureInfo("zh-CN", true);
// 定义一个输入流
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(cult);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
//设置excel页眉,格式如下:
//<style><!--@page{mso-header-data:"&L&10【请假单】   导出时段\:从 2012\/09\/11 16\:22  到  2012\/09\/12 16\:22\;\000A当前时间\:2012\/09\/21 16\:26\:33";}--></style>
//&L&10:靠左,10号字体
//\000A:换行
StringBuilder printHead = new StringBuilder();
printHead.Append("<style><!--@page{mso-header-data:\"&L&10");
printHead.Append(Convert.ToString(ViewState["jdType"]).Replace("/", "\\/").Replace(":", "\\:").Replace(";", "\\;")+"\";");
printHead .Append("}--></style>");
oHtmlTextWriter.WriteLine("<meta http-equiv=\"Content-Type\" content=\"text/html;charset=GB2312\">");
oHtmlTextWriter.WriteLine(printHead.ToString());
ExportObj.RenderControl(oHtmlTextWriter);
//excel单元格换行,先将要换行的单元格数据加入标识字符比如"<br>",然后输出时将<br>替换成<br style='mso-data-placement:same-cell;'/>
page.Response.Write(oStringWriter.ToString().Replace("<br>", "<br style='mso-data-placement:same-cell;'/>"));
page.Response.End();
}
#endregion


http://www.ppmy.cn/news/803777.html

相关文章

python批量打印机excel_python批量设置多个Excel文件页眉页脚的脚本

本文实例为大家分享了python批量设置多个Excel文件页眉页脚的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 import os import openpyxl from openpyxl.worksheet.header_footer import _HeaderFooterPart xlsxFiles (fn for fn in os.listdir(.) if fn.endswith(.…

java poi 复制 页眉_POI Excel 11 工作簿放大,设置页眉页脚

author YHC 设置工作簿放大显示比例: 设置工作簿的放大是用分数表示的,如下例子将显示比例调为75%,3是分子,4是分母; //创建Excel Workbook wb new HSSFWorkbook(); //创建工作簿 Sheet sheet1 wb.createSheet("new sheet"); //设置工作簿放大 sheet1.setZoom(3,4)…

excel更改页眉页脚_带格式日期的Excel页脚

excel更改页眉页脚 Its Fancy Footer Friday! Check with your boss – maybe you can leave early to celebrate. 星期五是花式页脚! 与老板核实-也许您可以早点庆祝。 This week, Ive been working on Excel printed reports, and one of my clients wanted some fancy fea…

java在Excel中添加png图片作为页眉(已解决)

1.背景 Excel在打印的时候需要附带水印打出&#xff0c;水印需要在下载Excel文件时就设置好 需要在打印的时候打印出水印&#xff0c;使用添加背景添加的水印在打印的时候不会出现&#xff0c;只有设置页眉&#xff0c;并将页眉设置为一长与打印纸张一样大小的图片&#xff0c…

python xlwings包添加或修改excel的页眉

xlwings 如果你在正在苦苦搜寻xlwings添加页眉的方法&#xff0c;下面两行简单的代码可以帮到你。使用xlwings关联的pywin32的api接口 sht.api.PageSetup.RightHeader ‘your header’ sht.api.PageSetup.LightHeader ‘your header’其他修改excel页眉的方法 XlsWriter Xl…

多个 Excel 批量设置页眉页脚

概要&#xff1a;给 Word 添加页眉页脚相信大家都很熟悉&#xff0c;但是你有给 Excel 设置过页眉页脚吗&#xff1f;你知道怎么给 Excel 设置页眉页脚吗&#xff1f;如果我们的 Excel 文件很多的时候&#xff0c;你又知道怎么批量的给多个 Excel 文件同时设置页眉页脚吗&#…

C# 如何添加Excel页眉页脚(图片、文字、奇偶页不同)

简介 我们可以通过代码编程来对Excel工作表实现很多操作&#xff0c;在下面的示例中&#xff0c;将介绍如何来添加Excel页眉、页脚。在页眉处&#xff0c;我们可以添加文字&#xff0c;如公司名称、页码、工作表名、日期等&#xff0c;也可以添加图片&#xff0c;如LOGO、标记等…

java 页眉页脚_Java 添加Excel页眉页脚

Excel中的页眉或页脚仅在页面布局模式和打印预览模式才可见。我们可以在页眉页脚位置添加页码、工作表名、日期、文字、图片等信息。本文将通过Java代码示例来介绍页眉页脚的添加方法。 使用工具&#xff1a; Free Spire.XLS for Java(免费版) 注&#xff1a;通过官网 另外&…