- 浏览: 111771 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (134)
- java (134)
- [转]sqlserver 数据类型 及使用考虑 (1)
- 保存、读取、删除到sdcard图片 (1)
- hashcode 重写 (1)
- sql2008导出数据 (1)
- Android开发(1):随机绘制彩色实心圆 (1)
- JPA 应用技巧 1:实体类和实体 DAO 模板 (1)
- 狩魂之神即将开测 - 2012年最值得期待的网页游戏 (1)
- mantis (1)
- MediaWiki (1)
- ExtMail (1)
- MDaemon搭建公司项目环境 (1)
- NIO 之 选择就绪模式 (1)
- web应用系统架构设计 (1)
- XML CDATA (1)
- firefox+Firebug调试JavaScript、HTML和CSS (1)
- 在SUSE 11中安装Windows虚拟机 (1)
- 将字节流(byte[])转换成文件 (1)
- HTML5网站 (1)
- 在Android中自定义IOS风格的按钮 (1)
- 基于SVG的WebGIS的一个雏形 (1)
- 程序名称DreamIT(梦想IT)提供许多IT公司的面试和笔试试题 (1)
- 介绍一个ASP.NET开发工具Web Matrix (1)
- C#信息采集工具实现 (1)
- Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布 (1)
- 2011面试题目之猴子偷桃 (1)
- Linux tar压缩时排除某个目录或文件的参数 (1)
- Crack JRebel 4.0,无需重启JVM,热部署解决方案 (1)
- Groovy Sql使用Spring的事务管理 (1)
- <<让oracle跑的更快1>>读书笔记2 (1)
- 不要再浪费时间 (1)
- JSP (1)
- PHP (1)
- Python (1)
- Ruby (1)
- Perl概要及各自特点 (1)
- JVM 内存结构(转) (1)
- [转载]JPA 批注参考(1) (1)
- Hadoop配置部分内容 (1)
- HD2刷机的基础知识 HD2的radio、HSPL、ROM三种组合 (1)
最新评论
-
alexyao8:
顶起
[G4Studio开源平台]如何搭建G4开发环境 -
greatghoul:
太二了。
不要再浪费时间 -
wengbo316:
它们一定是花果山的猴子,数数能数到3K多呢。。。
2011面试题目之猴子偷桃 -
mycar:
额.待补充...........
保存、读取、删除到sdcard图片 -
沙舟狼客:
这太折磨人了, 还有人要看吗?
[] javaeye rss抓取
<p>本文转自:<a href="http://www.cnblogs.com/lovenets2008/archive/2008/05/06/1184234.html" target="_blank">http://www.cnblogs.com/lovenets2008/archive/2008/05/06/1184234.html</a></p><p>原文如下:</p><p><font style="background-color: #cce8cf;">好久没有写点什么了,也许是太忙。一年了,积累了不少好的东东,有机会时就写出来与大家分享。 </font></p><p><font style="background-color: #cce8cf;">好,言归正传。 <br>导出到excel/csc文件并不难,所以就有好多方法:控件直接render、把dataset输出成string再write出来等,(当然如果调用excel程序的库文件的话还可以使用更强的直接操作excel的方法,但这种方法用于web服务显得有点要求太高:必须让web服务器安装指定版本的excel或其支持库文件)。就其前两种方法,实际上也是一样的,render也是把由dataset转变的view生成为一个table输出到客户端而已,只不过隐藏了细节,如果不信,你用editplus什么的看看生成的.xls文件就知道了。 </font></p><p><font style="background-color: #cce8cf;">excel的识别力太强了,以至于它本身的格式、csv格式、tab分隔符格式、网页的table格式等都能够很好的打开。但是它“太聪明”了,以至于自动识别数字和字符串,而且要把超过11位的数字自动变为科学计数法的格式,你试试输入“123456789012”,离开那个单元格,就成“123457e+11”了,够聪明的吧,不过有时会让我们感觉不便,因为我输入的就是我自己的身份证号码,尾巴上没有“x”,本来好好的15位数字,得现在成这么个计数法了。那我就改改显示格式吧,改为把数字显示为文本,好了。可是国家的身份证升级了,号码变成18位,我把它输入到数据库,导出来时,用刚才的方法处理过,18位没错,可是最后三位怎么都是零了!excel为我们做了太多的事,不管是应该的还是不应该的。 </font></p><p><font style="background-color: #cce8cf;">怎么解决?请看代码: </font></p><font style="background-color: #cce8cf;"><p> public static string exporttable(dataset ds)<br> {<br> string data = "";<br> //data = ds.datasetname + "\n";</p><p> foreach (datatable tb in ds.tables)<br> {<br> //data += tb.tablename + "\n";<br> data += "<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">";<br> //写出列名<br> data += "<tr style=\"font-weight: bold; white-space: nowrap;\">";<br> foreach (datacolumn column in tb.columns)<br> {<br> data += "<td>" + column.columnname + "</td>";<br> }<br> data += "</tr>";</p><p> //写出数据<br> foreach (datarow row in tb.rows)<br> {<br> data += "<tr>";<br> foreach (datacolumn column in tb.columns)<br> {<br> if (column.columnname.equals("证件编号") || column.columnname.equals("报名编号"))<br> data += "<td style=\"vnd.ms-excel.numberformat:@\">" + row[column].tostring() + "</td>";<br> else <br> data += "<td>" + row[column].tostring() + "</td>";<br> }<br> data += "</tr>";<br> }<br> data += "</table>";<br> }</p><p> return data;<br> }</p><p><br> public static void exportdstoxls(page page, string sql)<br> {<br> exportdstoxls(page, "filename", sql);<br> }<br> public static void exportdstoxls(page page, string filename, string sql)<br> {<br> dataset ds = dbutil.getdataset(sql);<br> if (ds != null) exportdstoxls(page, filename, ds);<br> }<br> public static void exportdstoxls(page page, dataset ds)<br> {<br> exportdstoxls(page, "filename", ds);<br> }<br> public static void exportdstoxls(page page, string filename, dataset ds)<br> {<br> page.response.clear();<br> page.response.buffer = true;<br> page.response.charset = "gb2312";<br> //page.response.charset = "utf-8";<br> page.response.appendheader("content-disposition", "attachment;filename=" + filename + system.datetime.now.tostring("_yymmdd_hhmm") + ".xls");<br> page.response.contentencoding = system.text.encoding.getencoding("gb2312");//设置输出流为简体中文<br> page.response.contenttype = "application/ms-excel";//设置输出文件类型为excel文件。 <br> page.enableviewstate = false;<br> page.response.write(exporttable(ds));<br> page.response.end();<br> }<br>//style="vnd.ms-excel.numberformat:@" 可以去除自动科学计数法的困扰 <br>//输出为table,能够最大限度的减少字段中数据对生成的文件格式的影响,在这里我没有处理数据中含有html标签的情况 在页面后台中,这样使用就可以了: </p><p> protected void lbtntoexcel_click(object sender, eventargs e)<br> {<br> string strwhere = buildsearchwherestring(); <br> string strorder = this.hidorderstring.value; <br> string sql = "select 报名编号, 证件编号, 姓名, 考区考点, 报考类别, " <br> + "行政区划名称 as 行政区划, 单位名称 as 工作单位, 毕业学校名称, 毕业专业名称 as 毕业专业, 毕业年月, " <br> + "通讯地址, 性别"<br> + " from [vw报名]"; <br> if (!string.isnullorempty(strwhere)) sql += " where " + strwhere; <br> if (!string.isnullorempty(strorder)) sql += " order by " + strorder; <br> else sql += " order by [报考类别]";<br> pageexport.exportdstoxls(this.page, "baoming", sql);<br> databind();<br> }</p><p></p></font>暂写到这里,休息。<br>更新日期:2008-5-5<p><font color="#336699">#7楼</font>[<span class="louzhu"><font color="#999999">楼主</font></span>] <font color="#999999">2008-05-09 12:33 </font><font color="#336699">爱网2008</font><font color="#336699" size="2"></font></p><p>修改了这个函数:在导出1k条数据时,估计速度提高上百倍,数据量越大越明显,原理很简单,stringbuilder的性能和“+”的性能的区别。 <br>public static string exporttable(dataset ds) <br>{ <br>stringbuilder sb = new stringbuilder(); <br>//data = ds.datasetname + "\n"; <br>int count = 0; <br><br>foreach (datatable tb in ds.tables) <br>{ <br>//data += tb.tablename + "\n"; <br>sb.appendline("<meta http-equiv=\"content-type\" content=\"text/html; charset=gb2312\">"); <br>sb.appendline("<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">"); <br>//写出列名 <br>sb.appendline("<tr style=\"font-weight: bold; white-space: nowrap;\">"); <br>foreach (datacolumn column in tb.columns) <br>{ <br>sb.appendline("<td>" + column.columnname + "</td>"); <br>} <br>sb.appendline("</tr>"); <br><br>//写出数据 <br>foreach (datarow row in tb.rows) <br>{ <br>sb.append("<tr>"); <br>foreach (datacolumn column in tb.columns) <br>{ <br>if (column.columnname.equals("证件编号") || column.columnname.equals("报名编号")) <br>sb.append("<td style=\"vnd.ms-excel.numberformat:@\">" + row[column].tostring() + "</td>"); <br>else <br>sb.append("<td>" + row[column].tostring() + "</td>"); <br>} <br>sb.appendline("</tr>"); <br>count++; <br>} <br>sb.appendline("</table>"); <br>} <br><br>return sb.tostring(); <br>} <br><br>稍后会提供下载版</p>
发表评论
-
HD2刷机的基础知识 HD2的radio、HSPL、ROM三种组合
2012-02-07 15:13 1100今天看着教程刚刷了台HD2,觉得有用的文章顺便转载过来 ... -
Hadoop配置部分内容
2012-02-04 15:29 741[size=medium;]Hadoop配置部分内容[ ... -
[转载]JPA 批注参考(1)
2012-02-04 11:39 725作为 Java 企业版 5 ... -
JVM 内存结构(转)
2012-02-03 14:49 899http://www.4ucode.com/Study ... -
JSP,PHP,Python,Ruby,Perl概要及各自特点
2012-01-31 15:18 994互联网技术日新月异,编程的语言层出不穷,原本稍微平静了 ... -
不要再浪费时间
2012-01-31 15:08 910不要再浪费时间 &l ... -
<<让oracle跑的更快1>>读书笔记2
2012-01-11 13:24 10231 绑定变量 1 ... -
Groovy Sql使用Spring的事务管理
2011-12-28 18:43 1287Grails如果不想用Hibernate的东东,可以直 ... -
Crack JRebel 4.0,无需重启JVM,热部署解决方案
2011-12-28 18:28 1170http://dl.dropbox.com/u/229 ... -
Linux tar压缩时排除某个目录或文件的参数
2011-12-21 13:48 1303在对某个目录进行压缩的时候,有时候想排除掉某个目录,例 ... -
2011面试题目之猴子偷桃
2011-12-21 11:14 1508<span style="" ... -
Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
2011-12-20 14:53 1602首先是准备工作 ... -
C#信息采集工具实现
2011-12-20 12:34 918简单C#信息采集工具实现 最近想整只爬虫玩玩,顺便熟 ... -
介绍一个ASP.NET开发工具Web Matrix
2011-12-19 09:49 966想学习或者开发个小型的ASP.NET程序,装个VS.N ... -
程序名称DreamIT(梦想IT)提供许多IT公司的面试和笔试试题
2011-12-19 09:24 916<font style="bac ... -
基于SVG的WebGIS的一个雏形
2011-12-14 13:19 680我和一位师弟,经过了很多天的努力,终于做出了一个简单的 ... -
在Android中自定义IOS风格的按钮
2011-12-12 10:09 1096<p class="MsoNorm ... -
HTML5网站
2011-12-12 08:55 809记得刚来现在公司的时候,老大就说,作为移动平台部门的员 ... -
将字节流(byte[])转换成文件
2011-12-09 08:25 1523/** * 将字节流转换成文件 * @par ... -
在SUSE 11中安装Windows虚拟机
2011-12-09 01:29 899Novell公司最近推出 ...
相关推荐
在ASP.NET中导出CSV文件是一种常见的需求,尤其是在处理大量数据时。CSV(Comma-Separated Values)文件是一种存储表格数据的简单文件格式,每一行表示一个数据记录,字段之间用逗号分隔。以下将详细介绍如何在ASP...
这个“ASP.NET导出EXCEL类.txt”可能包含一个自定义的C#类,该类封装了数据导出到Excel的逻辑,包括创建工作簿、工作表,设置单元格值,样式等。以下是一些可能的关键知识点: 1. **创建Excel文件**:类可能使用...
然而,仅限于网页显示有时并不足够,我们常常需要将GridView中的数据导出到其他格式,如PDF、Word、Excel或CSV,以便用户可以离线查看或进一步处理。本主题主要围绕如何实现ASP.NET GridView控件的数据导出功能进行...
在ASP.NET C#环境中,导出Excel是一种常见的需求,例如数据报表、数据分析或者用户下载功能。这个"导出Excel案例. asp.net c#"的压缩包文件提供了相关的代码示例和可能的数据样本,帮助开发者理解如何在实际项目中...
### C#导出CSV格式的代码详解 在日常开发工作中,导出数据为CSV格式是一种常见的需求,尤其是在处理大量数据时。CSV(Comma-Separated Values)是一种简单且易于理解的数据格式,常用于不同系统间的数据交换。下面...
在ASP.NET开发中,将Gridview控件中的数据导出到Excel是一种常见的需求,这有助于用户方便地管理和处理大量数据。下面将详细讲解如何实现这一功能,并解决中文乱码问题。 首先,我们需要理解ASP.NET Gridview的基本...
在C#编程中,导出大量数据到Excel是一项常见的任务,尤其在数据分析、报表生成或者数据备份等场景中。本文将深入探讨如何在C#环境中高效地处理百万级别的数据导出,并结合“C#百万数据导出Demo”进行详细解析。 ...
在ASP.NET(C#)开发中,导入和导出Excel是一项常见的功能需求,它涉及到Web应用程序与Microsoft Excel数据的交互。这个主题涵盖了多个知识点,包括文件流处理、数据序列化、Excel对象模型的理解以及如何利用C#语言...
ASP.NET(C#)Excel操作类是一个用于在.NET环境中处理Microsoft Excel文件的工具类库。...通过学习和使用ASP.NET(C#)Excel操作类,开发者可以高效地处理Excel数据,提高Web应用的功能性和用户体验。
标题 "c#.net excel的导入导出" 描述的是使用C#编程语言和.NET框架来处理Excel文件,实现数据在Excel和数据库之间的导入导出功能。这个项目可能包含了一个完整的解决方案,供开发者参考和学习。 在.NET环境中,C#...
总结来说,CSV导入导出到SQL数据库是ASP.NET开发中的常见任务,通过理解CSV文件格式和掌握数据库操作技巧,可以轻松实现数据的双向交换。在实际项目中,务必遵循良好的编程实践,保证代码的可读性和可维护性。
包括ASP.NET生成静态页面的方法、ASP.NET动态生成静态页面的实例代码、ASP.NET生成Excel文件并导出下载的五种实现方法、ASP.NET生成随机验证码的代码、ASP.NET生成条形码code39条码生成方法、ASP.NET C#生成和解析...
这个压缩包文件"ASP.NET(C#)导出数据到Excel工作薄.zip"提供了一种实现这一功能的方法,主要针对的是初学者,注释详细,易于理解。 在ASP.NET中导出数据到Excel,通常我们会用到Microsoft Office Interop库,但这...
在Asp.Net Core中,开发人员经常需要处理数据导出功能,例如将数据库中的数据导出为Excel或CSV格式,以便用户可以下载和进一步分析。本示例代码着重讲解如何在C#环境下实现这一功能。 首先,让我们了解Excel和CSV...
在ASP.NET Web应用程序中,经常需要将数据从datagridview组件导出到Excel文件,以便用户可以轻松地查看、编辑和共享数据。本文将详细介绍如何在C#中实现这个功能,并提供一个详细的实例源码和讲解。 首先,我们要...
***使用DataSet导出数据到Excel的详细方法涉及.NET框架下的数据操作和文件处理技术。首先,我们要明确DataSet在.NET中的作用,它是一个内存中的数据存储结构,可以包含一个或多个DataTable,用于存储数据以及表与表...
在.NET开发环境中,C#与ASP.NET结合使用可以实现高效的数据导入和导出功能,特别是与Excel文件交互。本文将详细讲解如何使用C#在ASP.NET项目中进行Excel的导入和导出操作,并重点关注速度优化。 一、Excel导入 1. ...
本教程将探讨如何使用ASP.NET技术实现SQL Server与Access数据库之间的数据导入导出。这对于那些需要在不同数据库系统之间迁移数据的开发者来说,具有很高的实用价值。 首先,ASP.NET是Microsoft开发的一个Web应用...
在 ASP.NET 和 C# 中,我们可以使用 DataSet 的Tables 属性来遍历所有的数据表,然后使用 foreach 语句遍历每个数据表中的行和列。最后,我们可以使用 string 类型的变量来存储导出的数据。 在本文中,我们提供了一...