易截截图软件、单文件、免安装、纯绿色、仅160KB

asp.net导出Excel/Csv格式数据最优方案(C#)

[转]asp.net导出Excel/Csv格式数据最优方案(C#)
本文转自:http://www.cnblogs.com/lovenets2008/archive/2008/05/06/1184234.html
原文如下:
 
好久没有写点什么了,也许是太忙。一年了,积累了不少好的东东,有机会时就写出来与大家分享。
好,言归正传。
导出到Excel/Csc文件并不难,所以就有好多方法:控件直接Render、把DataSet输出成String再Write出来等,(当然如果调用Excel程序的库文件的话还可以使用更强的直接操作Excel的方法,但这种方法用于Web服务显得有点要求太高:必须让Web服务器安装指定版本的Excel或其支持库文件)。就其前两种方法,实际上也是一样的,Render也是把由DataSet转变的View生成为一个Table输出到客户端而已,只不过隐藏了细节,如果不信,你用EditPlus什么的看看生成的.xls文件就知道了。
Excel的识别力太强了,以至于它本身的格式、Csv格式、Tab分隔符格式、网页的Table格式等都能够很好的打开。但是它“太聪明”了,以至于自动识别数字和字符串,而且要把超过11位的数字自动变为科学计数法的格式,你试试输入“123456789012”,离开那个单元格,就成“123457E+11”了,够聪明的吧,不过有时会让我们感觉不便,因为我输入的就是我自己的身份证号码,尾巴上没有“X”,本来好好的15位数字,得现在成这么个计数法了。那我就改改显示格式吧,改为把数字显示为文本,好了。可是国家的身份证升级了,号码变成18位,我把它输入到数据库,导出来时,用刚才的方法处理过,18位没错,可是最后三位怎么都是零了!Excel为我们做了太多的事,不管是应该的还是不应该的。
怎么解决?请看代码:
    public static string ExportTable(DataSet ds)
    {
        string data = "";
        //data = ds.DataSetName + "\n";
        foreach (DataTable tb in ds.Tables)
        {
            //data += tb.TableName + "\n";
            data += "<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">";
  &nb


相关文档:

ASP.NET中App_Code,App_Data等文件夹的作用

 
1. Bin文件夹
Bin文件夹包含应用程序所需的,用于控件、组件或者需要引用的任何其他代码的可部署程序集。该目录中存在的任何.dll文 件将自动地链接到应用程序。
2. App_Browser文件夹
该可选的文件夹包含.browser文件。.browser文件描述浏览器(不管是移动设备浏览器,还是台式机浏览器)的特 征和功能。
3. ......

ASP.NET跨页面传值技巧总结

1.  使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void Button1_Click(object sen ......

asp.net程序Excel转成XML档

通过Asp.net(C#)应用程序读取本地上传的Excle文件,存放到DataSet中,通过DataSet中的方法直接生成XML文件.
C# Code
 if (this.FileUpload1.PostedFile != null)
        {
            string filename = this.FileUpl ......

Asp.net 后台调用js方法(转)

1. 用Response.Write方法
  代码如下:
Response.Write("<script type='text/javascript'>alert("XXX");</script>");
此方法缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定 义,比如
Response.Write("<script type='tex ......

java与c#通信数据转换问题

//由于JAVA语言的数据类型都是有符号类型,而C# C++一般数据类型都是分有符号和无符号,
//因此在通信过程中传递的Byte[]无法直接转换成C#需要的类型,
//以前倒是没注意这些细节,因为一般用一种语言编程,
//大都有内置的转换方法。跨语言环境的转换就的自己动手想办法了。
1、java的Byte[]转换成c#的Int32
private i ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号