Datatable转换成excel并实现导出功能,导出到服务端,提供客户端下载

好久没有写笔记了,写得不好,大家将就看看吧!

这是一个关于导出Excel到服务端指定的文件中供客户去下载的一个方法;首先要获取保存服务器的物理路径,也就是绝对路径,可以使用

HttpContext.Current.Server.MapPath(".");可以获取到。最方便的就是直接用datatable转成Excel格式,当生成文件时,同时向数据库插入一条记录;

代码:

public void DataTableTransmissionExcel(bool withHeaders,DataTable){

  var strBuilder = nwe System.Text.StringBuilder();

  if(dt != null || dt.Rows.Count == 0){

    if(withHeaders){ //是否显示列头名称

      for(int i = 0; i < dt.Columns.Count; i++){

        strBuilder.Append(dt.Columns[i].ColumnName + "\t"); //栏位:自动跳到下一个单元格

      }

      strBuilder.AppendLine(); //换行

    }

    foreach(DataRow _row  in dt.Rows){

      for(int i = 0; i < dt.Columns.Count; i++){
        strBuilder.Append(dt.Columns[i].ColumnName + "\t"); //栏位:自动跳到下一个单元格

      }
      strBuilder.AppendLine(); //换行

    }

  }

  return strBuilder.ToString();

}

public int RAWExportDataAction(string orgID,string TableCodes,List<DataTable> Tables,Action e){

  int SaveRows = 0;

  string[] _TableNames = null; //导出的数据库表名

  _TableNames = TableCodes.Split(‘#‘);

  int InsRows = 0; //累计插入表数

  string _excelFileName = string.Empty; //累加Excel名

  string _tempTableName = string.Empty;//累加有数据产生导出的表名

  Action<Int32> CallBack = null;

  CallBack = (int rowIndex) =>{

    var data = DataTableTransmissionExcel(true,Tables[rowIndex]);

    string uri = HttpContext.Current.Server.MapPath(".");

    int index = uri.IndexOf(@"\Services");

    uri = uri.Substring(0,index);

    //保存Excel表名称格式:机构ID+表名+年月日时分秒

    string saveFileName = orgID+_TableNames[rowIndex]+"-"+DateTime.Now.Year+DateTime.Now.Month+DateTime.Now.Day+

    DateTime.Now.Hour+DateTime.Now.Minute+DateTime.Now.Second+".xls";

    //保存到指定的路径地址

    string fileName = string.Format(@"{0}\Excel\{1}",uri,saveFileName);

    //当文件不存在时,就创建文件

    if(!System.IO.File.Exists(fileName)){

      System.IO.FileStream stream = System.IO.File.Creat(fileName);

      stream.Close();

      stream.Dispose();

    }

    using(var writer = new System.IO.StreamWriter(fileName,true,System.Text.Encoding.Unicode))

    {

      writer.Write(data); //读写数据

      writer.Close();  //关闭流

    }

    InsRows++;

    if(InsRows < Tables.Count){

      _tempTableName += _TableNames[rowIndex]+"#";

      _excelFileName += saveFileName + "#";

    }

    if(InsRows == Tables.Count){      

      _tempTableName += _TableNames[rowIndex];

      _excelFileName += saveFileName;

      //插入一条下载数据

      SaveRows = new XywDemoService.Web.DS.EpMsgDS.InserLotEpMsg(orgID,_tempTableName,_excelFileName);

    }

    if(rowIndex >= Tables.Count - 1){

      if(e!=null){ e(); }

    }else{ CallBack(rowIndex + 1); }

  };

  CallBack(0);

  return SaveRows;

}

时间: 2024-11-08 22:36:04

Datatable转换成excel并实现导出功能,导出到服务端,提供客户端下载的相关文章

asp.net 将dt转换成excel 在线下载

1.方法 private StringWriter GetStringWriter(DataTable dt) { StringWriter sw = new StringWriter(); //读列名 foreach (DataColumn dc in dt.Columns) sw.Write(dc.ColumnName + "\t"); //读列值 //重新的一行 sw.Write(sw.NewLine); if (dt != null) { foreach (DataRow dr

pdf怎么转换成excel格式 超简单

可编辑文档转换为不可编辑文档是非常简单的,比如将word或者excel转换成jpg或者pdf,office或者wps软件本身的最新版就自带有这个功能.但是如果我们要将PDF这种不可修改编辑的文档转换成可编辑的形式就会稍微麻烦一点,因为这种格式是任你怎么放大缩小都不会改变文件的排版方式,虽然阅读起来很方便.那怎么办呢?下面小编教给大家一个方法,可以将PDF转换成Excel格式,超简单! 把PDF格式的文件精确转换成EXCEL表格,这边我们可以选择一款叫"迅捷PDF转换器"的软件. (pd

财务必备技能 如何将pdf转换成excel

虽然pdf文件有各种的优点,但是编辑权限也是事实,将pdf转换成其他格式文件是不可避免的,之前小编给大家讲解过很多使用迅捷pdf转换器将pdf转换成word或是word转换成pdf的方法.今天就不局限于pdf和word的转换了,这里给大家一个新的转换形式,那就是pdf表格文件转换成excel,这可是财务必备技能之一,不会这种转换怎么看怎么亏. 如何将pdf转换成excel,pdf转excel操作步骤详解: 1.在迅捷pdf转换器的界面当中选择"文件转excel",之前我们在很多的文章中

将list&lt;对象&gt;转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据

领导让在存储过程中批量添加数据,找出效率最高的,我看到后台代码后,发现可以将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据,知道还有其他的方法,不过这个方法已经实现,就写一下了: 1.创建表. CREATE TABLE [dbo].[person]( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NULL, [Pwd] [nvarchar](50) NULL, [Age]

将pdf转换成excel能用的转换软件

最近因为配合编辑部的工作,需要将手头上制作好的PDF格式文件转换成Excel格式,按照平常的习惯从网上找了一些PDF转换成Excel转换器,但是许多转换后要么就乱码.要么转换失败. 在我看来最为可靠的是使用迅捷PDF转换成Excel转换器,为什么这么说呢?因为在这个转换器自带的这项转换功能,能实现批量的PDF转换成Excel格式文件,够强大吧! 1.PDF文本能转换成哪几种格式? 目前,PDF转Excel转换器已经成功地集成了如下转换功能:文件转Word.文件转Excel.文件转PPT.文件转换

最好的pdf转换成excel转换器

伴随着电脑办公软件的普及化,越来越多的人需要在电脑上建立文档和写入信息,这是需要将原PDF文件转换成数据醒目的Excel表格,便于上级领导阅读.遇到PDF文件需要转换成Excel表格时,有没有专业好用的PDF转换成Excel转换器能够帮忙解决转换问题呢? 在众多的PDF转换成Excel转换软件中,能够满足双向转换,并能够完整保留原PDF文本内容.排版.图像的效果的转换器的当属迅捷PDF转换成Excel转换器.PDF转换成Excel转换器拥有强大的转换核心技术,借助超线程.多文件格式转换等技术的支

WPS文件格式转换技巧 如何将WPS转换成Excel

WPS文件格式如何转换?如何将WPS转换成Excel?对于一些不熟悉WPS文件的人来说,那么在处理WPS文件来说,习惯将WPS转换成Excel的格式,小编在这里考虑到部分人还不知道如何操作,下面就是它的操作方法,有需要的可以学着操作! 1.打开自己的电脑,先需要在电脑上安装一款可以转换WPS文件格式的工具,进入到百度中搜索迅捷PDF转换器进行安装.2.进入到转换器中选择"WPS文件转换"栏目下的"文件转换Excel"功能,选择完毕后继续进行下一步操作. 3.鼠标移动

Word文件如何在线转换成excel文件

Word文件如何在线转换成excel文件,在运用到word和excel两个办公软件的时候都知道可以在word文档里面插入excel表格,那如何将word文件转换成excel表格呢,小编今天就来告诉大家.第一步:打开电脑,进入浏览器搜索"迅捷pdf在线转换器"找到相应的网页,并点进去.第二步:进入在线转换器的首页后,可以看到页面有很多关于办公的功能选项,我们选择文档转换,并在弹出的下拉框内选择"word转excel".第三步:进入转换器的功能页后,点击页面内的&quo

WORD格式的文档如何在线转换成EXCEL格式

WORD格式的文档如何在线转换成EXCEL格式,经常用办公软件的都知道在WORD文档里面是可以插入EXCEL表格的,但是WORD文档却不能将里面的数据直接转换成EXCEL格式,那有没有方法可以促成这一转换的呢,请看下面操作.第一步:打开电脑,进入浏览器搜索"迅捷pdf在线转换器"找到相应的网页,并点进去.第二步:进入在线转换器的首页后,可以看到页面有很多关于办公的功能选项,我们选择文档转换,并在弹出的下拉框内选择"word转excel". 第三步:进入转换器的功能页