C# 将数据导出到Excel汇总
2012-06-08 18:59
337 查看
在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,t分隔的数据,导出Excel时,等价于分列,n等价于换行。
1、将整个html全部输出Excel
此法将html中所有的内容,如按钮,表格,图片等全部输出到Excel中。
这里我们利用了ContentType属性,它默认的属性为text/html,这时将输出为超文本,即我们常见的网页格式到客户端,如果改为ms-excel将将输出excel格式,也就是说以电子表格的格式输出到客户端,这时浏览器将提示你下载保存。ContentType的属性还包括:image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
。同理,我们也可以输出(导出)图片、word文档等。下面的方法,也均用了这个属性。
2、将DataGrid控件中的数据导出Excel (指定控件导出方式,这里我以DataGrid为例子,大家可以使用任意控件)
View Code
四、附注:
虽然都是实现导出excel的功能,但在asp.net和winform的程序中,实现的代码是各不相同的。在asp.net中,是在服务器端读取数据,在服务器端把数据以ms-excel的格式,以Response输出到浏览器(客户端);而在winform中,是把数据读到客户端(因为winform运行端就是客户端),然后调用客户端安装的office组件,将读到的数据写在excel
1、将整个html全部输出Excel
此法将html中所有的内容,如按钮,表格,图片等全部输出到Excel中。
Response.Clear(); Response.Buffer= true; Response.AppendHeader("Content-Disposition","attachment;filename="+DateTime.Now.ToString("yyyyMMdd")+".xls"); Response.ContentEncoding=System.Text.Encoding.UTF8; Response.ContentType = "application/vnd.ms-excel"; this.EnableViewState = false;
这里我们利用了ContentType属性,它默认的属性为text/html,这时将输出为超文本,即我们常见的网页格式到客户端,如果改为ms-excel将将输出excel格式,也就是说以电子表格的格式输出到客户端,这时浏览器将提示你下载保存。ContentType的属性还包括:image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
。同理,我们也可以输出(导出)图片、word文档等。下面的方法,也均用了这个属性。
2、将DataGrid控件中的数据导出Excel (指定控件导出方式,这里我以DataGrid为例子,大家可以使用任意控件)
View Code
View Code /// <summary> /// 导出Execel /// </summary> /// <param name="columnTitle">列名以"\t分隔"如 列2\t列3\t列4</param> /// <param name="resutl">行,要与上面的列对应,列名以"\t分隔"如 列2\t列3\t列4 第行使用\n分隔 </param> private void ToExcel(string columnTitle, string resutl) { SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "Execl files (*.xls)|*.xls"; dlg.FilterIndex = 0; dlg.RestoreDirectory = true; dlg.Title = "保存为Excel文件"; if (dlg.ShowDialog() == DialogResult.OK) { Stream myStream; myStream = dlg.OpenFile(); StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0)); try { //写入列名称 sw.WriteLine(columnTitle); //写入行 sw.WriteLine(resutl); sw.Close(); myStream.Close(); } catch (Exception e) { MessageBox.Show(e.ToString()); } finally { sw.Close(); myStream.Close(); } } }
四、附注:
虽然都是实现导出excel的功能,但在asp.net和winform的程序中,实现的代码是各不相同的。在asp.net中,是在服务器端读取数据,在服务器端把数据以ms-excel的格式,以Response输出到浏览器(客户端);而在winform中,是把数据读到客户端(因为winform运行端就是客户端),然后调用客户端安装的office组件,将读到的数据写在excel
相关文章推荐
- C# 将数据导出到Excel汇总|C#导出Excel汇总
- C#将数据导出到Excel汇总
- asp.net中导出到Excel的方法汇总及导出Excel/Csv格式数据最优方案(C#)
- C#将数据导出到Excel汇总
- C# 将数据导出到Excel汇总Webform,Winform(转)
- C# 将数据导出到Excel汇总|C#导出Excel汇总
- C#将数据导出Excel 汇总
- C#将数据导出到Excel汇总
- C# 将数据导出到Excel汇总
- C# 将数据导出到Excel汇总|C#导出Excel汇总
- C#中将数据导出为EXCEL方式汇总
- C#数据导出到Excel汇总
- C# 数据导出到excel汇总
- C#中将数据导出为EXCEL方式汇总
- C# 将数据导出到Excel汇总
- C# 将数据导出到Excel汇总(转)
- C# 将数据导出到Excel汇总
- C#将数据导出到Excel汇总
- C# 将数据导出到Excel汇总
- C# 将数据导出到Excel汇总