关于Asp.net中使用以下代码导出Excel表格的问题

用COMSOL计算复合材料板频散曲线:从建模到绘图全流程 导波在板结构中传播时,不同频率成分的速度不同,即频散现象。理解频散曲线是识别导波模态、确定相速度与群速度的基础,也是无损检测和结构健康监测中信号解读的关键。对于碳纤维增强复合材料等各向异性板,频散关系更加复杂,传统解析方法难以求解,数值仿真成为主流手段。通过COMSOL结合周期性边界条件与特征频率扫描,可以高效计算出复合材料板的频散曲线,进而绘制相速度和群速度随频率变化的图谱,为实验模态识别、换能器激励频率选择提供依据。本文以一个2毫米单向碳纤维板为例,详细介绍几何建模、材料参数设置、网格收敛验证、参数扫描 阅读详情

关于Asp.net中使用以下代码导出Excel表格的问题


Posted on 2006-09-21 08:37 killkill 阅读(39) 评论(0)  编辑 收藏 引用 收藏至365Key 所属分类: Study .net EveryTime 

        private void ExportExcelFromDataGrid( string filename , System.Web.UI.WebControls.DataGrid ToExcelGrid )
        {
            Response.Clear();
            Response.Buffer=   true;    
            Response.Charset="utf-8";          
            Response.AppendHeader("Content-Disposition","attachment;filename="+Server.UrlEncode ( filename ) );    
            Response.ContentEncoding=System.Text.Encoding.Default;//设置输出流为简体中文  
            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);  
            ToExcelGrid.RenderControl(oHtmlTextWriter);    
            Response.Write(oStringWriter.ToString());
            Response.End();
        }

        private void Button4_Click(object sender, System.EventArgs e)
        {
            this.Panel1.Visible = false;           
            string filename = "内训师.xls";
            this.DataGrid1.Columns[6].Visible = true;
            this.DataGrid1.Columns[7].Visible = true;
            this.DataGrid1.Columns[this.DataGrid1.Columns.Count-1].Visible = false;
            this.DataGrid1.Columns[this.DataGrid1.Columns.Count-2].Visible = false;
            this.DataGrid1.AllowSorting = false;
            this.DataGrid1.AllowPaging = false;
            this.DataGrid1.SelectedIndex = -1;
            this.BindGrid();
            this.ExportExcelFromDataGrid ( filename , this.DataGrid1 );
        }

原理是利用DataGrid(其实是其父类Control)的RenderControl方法输出,整个DataGrid的外观时,将这些HTML代码写入到缓冲区,同时设置一下 ContentType ,让Excel自己的自动纠错功能将这个输出存为一个Excel文件。

很多网上的朋友使用了以上这种可粘贴性强的代码,发现不好用,反映的错误类似:
“LinkButton必须放在一个具有runat=server的标签的Form”之类的话,而更多的网友说:
问题很明显,因为DataGrid没有放在runat=server 的Form里面,加上就可以了。

我认为,这种回答是很不准确的,理由如下:

通常使用这种代码的人他/她的DataGrid,最起码已经能用了,所以必定放在那个具有runat=server 的form标签里了。
报错是LinkButton,而不是DataGrid,很多细心的朋友很可能会说,我一直在用DataGrid,LinkButton在哪里来的。
其实真正的问题是,上面的代码没有加了 // * 的那几行代码引起的。
当然如果你的DataGrid,没有排序,没有使用那种按钮列的话,是不会出问题的。
言归正传,LinkButtion其实是你将DataGrid设为可排序时候,的表头包含的,所以我要将DataGrid的排序设为False。
同样得到上面的其实,那些按钮列,什么"编辑"、“删除”等等这些,也是用了LinkButton,把他设为不可见就是了。
其实说得再明白一点就是,将有可能产生LinkButton,或其他控件的东西都不让它输出就是了

 

Oracle EBS报表开发入门:Report Builder安装避坑指南(Win10/11兼容版) 本文详细介绍了在Windows 10/11系统上成功安装和配置Oracle Report Builder的完整避坑指南。通过修改系统兼容性、解决虚拟内存报错、正确设置NLS_LANG和TNS连接等关键步骤,确保开发环境稳定运行。同时,阐述了Report Builder与BI Publisher在现代Oracle EBS报表开发中的协作定位与工作流,帮助开发者高效搭建报表开发环境。 阅读详情

相关推荐

3DSlicer冠脉分割实战:从DICOM导入到三维重建的完整流程(附常见问题解决)

本文详细介绍了使用3DSlicer进行冠脉分割的完整流程,从DICOM数据导入到三维重建,涵盖环境配置、视图优化、心脏区域分割及冠脉精细分割等关键步骤。针对常见问题提供实用解决方案,帮助医学影像从业者高效完成心血管结构分析,提升诊断准确性。

weixin_29271053的博客 628

导出Excel (application方法)

<br />using Excel = Microsoft.Office.Interop.Excel;<br />using Microsoft.Office.Interop.Excel;<br /> <br />public partial class _Default : System.Web.UI.Page <br />{<br />    bll bl = new bll();<br />    protected void Page_Load(object sender, EventArgs e)

w87875251l的专栏 1166

Flutter for web 首次加载过慢问题优化

Flutter web 加载慢优化

Bright_TY的专栏 7836

django导出excel

django实现下载数据库中的表导出到excel view.py: def download_results_xls(request): response = HttpResponse(content_type='application/ms-excel') response['Content-Disposition'] = 'attachment; filename="pr...

Simple的博客 1091

西门子S7-1200 PLC与伺服电机控制实战解析

工业自动化控制系统中,PLC(可编程逻辑控制器)与伺服电机的协同工作是实现精密运动控制的核心技术。通过PROFINET工业以太网协议,PLC可以高效地控制多台伺服电机,实现定位、同步和插补等复杂运动。在实际工程应用中,硬件组态的正确配置和运动控制算法的优化是关键挑战。本文以西门子S7-1200 PLC控制五台伺服电机的项目为例,详细介绍了从硬件组态、运动控制程序实现到HMI界面设计的全流程。特别针对多轴同步插补运动、动态速度曲线调整等特殊工艺需求,提供了实用的解决方案和调试技巧,为工业自动化领域的工程师提供

weixin_30252709的博客 497

Ubuntu22.04下RTX2080显卡驱动、CUDA、cuDNN保姆级避坑安装指南(实测有效)

本文提供Ubuntu22.04下RTX2080显卡驱动、CUDA和cuDNN的详细安装指南,涵盖前期准备、驱动安装、CUDA版本选择、cuDNN配置及常见问题解决。通过实测有效的步骤和优化建议,帮助用户快速搭建稳定的深度学习环境,避免常见陷阱。

weixin_42540248的博客 284

Django下载数据库表格(XLS/CSV)

下载XLS表格方式: 前置:   需要安装xlwt模块 views : def export_users_xls(request): response = HttpResponse(content_type='application/ms-excel') response['Content-Disposition'] = 'attachment; filename="ab...

菲宇运维 1631

从零开始:C#上位机集成YOLO完成摄像头目标追踪(保姆级教程)

新手入门C#上位机+YOLO做摄像头目标追踪,最忌讳的是“只抄代码,不懂逻辑”。这个教程不仅给了完整代码,还把核心原理和踩坑点都讲清楚了,新手跟着走,不仅能跑通demo,还能理解为什么这么写。如果你们在运行时遇到具体问题,比如模型导出失败、代码报错,都可以在评论区留言,我会一一解答。后续也可以出一期工业相机+YOLO目标追踪的教程,帮助大家把demo落地到实际生产中。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1028

response的contentType 几种类型

Content-Type MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。 类型格式:type/subtype(;parameter)? type 主类型,任意的字符串,如text,如果是号代表所有; subtype 子类型,任意的字符串,如html,如果是号代表...

晓宇博客 5万+

YOLOv11 TensorRT极致加速:C++部署性能优化完全指南

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有!

LXY_LOVE36的博客 116

ardupilot开发 --- 避障篇

适配ardupilot的雷达避障功能开发,使用低成本雷达思岚科技系列雷达,配置简单,灵敏度高,障碍物检测范围不低于30m。

记录老板的每次pua,分享领导每天的毒鸡汤... 4301

Asp.net中使用以下代码导出Excel表格的问题

        private void ExportExcelFromDataGrid                         ( string filename , System.Web.UI.WebControls.DataGrid ToExcelGrid )        ...{            Response.Clear();            Response.B

342

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

在asp中如何把表格数据导入到Excel里

  在不久前,才使用asp的winform做了一个小型项目。其中就有遇到这个问题。如何把表格里的数据导入到Excel里,一开始想的是把gridview里的内容直接导入到Excel里,后来发现效果并不理想。后来发现直接导入dataset里的数据更好。我也借鉴了很多资料,发现都存在有部分的问题。所以希望写这个博客给后来者减少一点弯路,提供一些帮助。同时感谢大象大象你的鼻子怎么这么长给与我的帮助!   话不多说,先上截图。   表格数据截图   表格是使用asp的gridview控件搭配sqldatasource

程序猿小龙的博客 2064

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

关于asp.net与winform导出excel的代码

一、asp.net中导出Execl的方法: 在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,t分隔的数据,导出execl时,等价于分列,n等价于换行。 1、将整个html全部输出execl 此法将html中所有的内容,如按钮,表格,图片等全部输...

weixin_34280237的博客 103

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ASP.NET页面内容导出为Excel

 这几天给公司的客户做了一个系统的报表的导出,现在总结一下一、需要注意的是:1.页面内容中如果有多张Table,导出到Excel是表格列宽会失效。2.设置表格的属性为字符串加上x:str="",如,不加默认是数值,0005导出后会转换为数字5(x:str=""在单元格中指定无效)3.如果导出的内容为数据要在表格属性上加上x:num="",如4.设置ASPX页面属性Valid

ZZC's Blog 1753

asp.net 导出excel

这个有局限性,只导出gridview的,可能能导其他吧,没有研究下去了。有点就是快速,简便。直接代码 using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.W

400

GridView导出数据到Excel

Response.Clear(); Response.AddHeader("content-disposition", "attachment;filename=sx.xls"); Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.UTF8;

bydxyj的专栏 834

Response.Write Table 方式导出Excel 添加样式

在asp.net中导出Excel常用  Response.Write  Table 的方式导出Excel 但是导出的报表样式可能不符合要求 ,比如说 表格边框 Table的边框宽度最小只能是 1 而导出的Excel报表的边框还是太粗 想让边框变细些  我们可以这样做: 先用Response.Write 导出 一个Excel表格,这时用记事本或其他文本编辑器打开 只能看到

年轻没有失败,自信创造精彩 5740

asp.net里导出excel表方法汇总(ASP.Net - C#)

From: http://blog.csdn.net/javaer/archive/2004/09/15/105536.aspx1、由dataset生成public void CreateExcel(DataSet ds,string typeid,string FileName)   {   HttpResponse resp;   resp = Page.Response;   res

1678

GridView导出Excel的超好样例

事实上网上有非常多关于Excel的样例,可是不是非常好,他们的代码没有非常全,读的起来还非常晦涩。经过这几天的摸索,最终能够完毕我想要导出报表Excel的效果了。以下是我的效果图。 一.前台的页面图 GridView的第一页的内容 GridView第二页的内容: 大家可能遇到这样的情况,就是这个时候导出Excel的时候,打开Excel的时候发现Gri...

weixin_30533797的博客 66

[Repeater]导出为excel格式

Repeater导出为excel格式 数据绑定到Repeater1 ,下面是将Repeater1的内容导出的示例代码 System.IO.StringWriter sw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.Html...

数据库天地 128

mvc html转excel,jquery - MVC Export to Excel from HTML Table in div - Stack Overflow

I am trying to implement Export to excel functionality. I am passing my entire table in html format as string to the export function and trying to convert it into excel. Following is the code i have i...

weixin_32175665的博客 186

【Vegas原创】页面(图表+table+GridView)导出为excel(07-12-5更新版)

图表+table     protected void Button3_Click(object sender, EventArgs e)     {         Response.Clear();         Response.Buffer = true;         Response.Charset = "GB2312";         Response.Append...

weixin_34055787的博客 116

.net导出excle无需任何插件,直接通过一个tablehtml实现

项目背景:   项目需要导出样式复杂的excl表格,主要是一些样式布局比较复杂 技术分析:   目前比较通用的实现方式有     1、借助微软的excle插件     2、通过NPOI插件实现     3、直接导出一个html(table),在输出头部指定文件输出类型   本次主要说的第3中实现方式,这样实现起来很方便,尤其是针对样式复杂的表格,就当写html一样可以实现复杂的显示逻...

weixin_34055910的博客 79
上一篇: 分頁的兩種技巧
下一篇: 获取汉字的拼音首字母
SmartJavaer
博客等级 码龄21年 13粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值