中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
Aspx中导Excel
作者:未知 时间:2005-07-27 21:31 出处:CSDN 责编:chinaitpower
              摘要:Aspx中导Excel

 关于Aspx中导Excel,网上的方法比较的多,而最主要的是用Com的控件,小弟以前也是用有如此之方法,不过嘛,这种方法有一些小小的缺点,比如:必须要进行某种复杂的注册,而且在效率上可能也会比较的慢一些,所以,小弟用了一种变通的方法,效果还不错,不敢独留,所以与大家共同分享之。
 我们知道,在做Web的程序中有一个非常大的好处就是只要在服务器上进行配置,就可以不用考虑到客户端的东东了,本程序的主要思想是,在服务器端进行相关的操作生成Excel文件,然后再由客户端进行下载。
由于直接生成Excel文件比较的慢,所以,我先生成的是Txt文本,然后保存为Excel文件。话不多说,先Show一下我的代码。
using System;
using System.Data;
using System.IO;
using System.Web;
namespace ToExcelDSNS
{
  public class ToExcelDS
 {
  private string _txtPath;//Txt文本的路径
  private string _xlsPath;//Excel的路径
  private DataSet _ds;
  public ToExcelDS(string xlsPath,string txtPath,DataSet ds)//构造函数 传入参数为Excel与文本路径及转化的DataSet
  {
   
   _txtPath=txtPath;
   _xlsPath=xlsPath;
   _ds=ds;
  }
  public void PumpToExcel()//导Excel
  {  
   
   DataRow[] dr=_ds.Tables[0].Select("1=1");
   DataTable dt=_ds.Tables[0];
   StreamWriter sw=new StreamWriter(_txtPath,false,System.Text.Encoding.Default);//文本流
   string tmp="";
   foreach(DataColumn dc in dt.Columns)
   {
    tmp+=dc.Caption+"\t";
   }
   sw.WriteLine(tmp+"\a");//将DataSet中的头名写进文本流中,用制表符隔开
   int itemCount=dt.Rows.Count;
   int columnCount=dt.Columns.Count;
   for(int j=2;j<2+itemCount;j++)//将DataSet中的每行写进文本流中,用制表符隔开

   { 
    tmp="";
    for(int k=1;k<columnCount+1;k++)
    {
    
     tmp+=dr[j-2][k-1].ToString()+"\t";
    }
    sw.WriteLine(tmp+"\a");

   }
   sw.Flush();
   
   File.Copy(_txtPath,_xlsPath,true);//将Txt保存为Excel
   sw.Close();
   
  }
 }
}
一个简单而方便的导Excel就完成了,当然,有人会提到,如果一起导Excel会不会有问题,经本人测试,没有任何问题发生,原因是,在导Excel中已经有了一个本地的副本,所以不存在冲突的问题,希望大家能够从中得到启发,从而定制出更科学的方法,当然,不要忘记分享哦!


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有