把DataTable用Excel形式导出

简介: 把DataTable用Excel形式导出
public static void CreateExcel(Page page,DataTable mydt,string FileName)  
    { 
      HttpResponse resp; 
      resp = page.Response; 
      resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
      resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);    
      string colHeaders= "", ls_item=""; 
      int i=0; 
      //定义表对象与行对像,同时用DataSet对其值进行初始化 
      DataTable dt=mydt; 
      DataRow[] myRow=dt.Select("");  
      //取得数据表各列标题,各标题之间以/t分割,最后一个列标题后加回车符 
      for(i=0;i<dt.Columns.Count-1;i++)
      {
        colHeaders +=dt.Columns[i].Caption.ToString()+"/t"; 
      }
      colHeaders +=dt.Columns[i].Caption.ToString() +"/n";    
      //向HTTP输出流中写入取得的数据信息 
      resp.Write(colHeaders);  
      //逐行处理数据   
      foreach(DataRow row in myRow) 
      { 
        //在当前行中,逐列获得数据,数据之间以/t分割,结束时加回车符/n 
        for(i=0;i<dt.Columns.Count-1;i++)
        {
          ls_item +=row[i].ToString() + "/t";
        }
        ls_item += row[i].ToString() +"/n"; 
        //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据     
        resp.Write(ls_item); 
        ls_item=""; 
      } 
      //写缓冲区中的数据到HTTP头文件中 
      resp.End();  
    } 

如果在导出的数据中含有纯数字的时候,有可能会按科学计算法的形式来显示,可以加上样式style="vnd.ms-excel.numberformat:@"

就可以避免按科学计算法来显示。

相关文章
|
4天前
|
easyexcel
【EasyExcel】第二篇:导出excel文件,导出多个sheet工作空间
【EasyExcel】第二篇:导出excel文件,导出多个sheet工作空间
|
4天前
|
SQL 数据库连接 数据库
【SQL Server】2. 将数据导入导出到Excel表格当中
【SQL Server】2. 将数据导入导出到Excel表格当中
50 0
|
4天前
|
NoSQL 关系型数据库 MySQL
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队; 刚开始拿到这个需求,第一时间想到就是需要维护一个FIFO先进先出的队列,给定队列一个固定size,在队列里面的人进行排队进行数据导出,导出完成后立马出队列,下一个排队的人进行操作;还考虑到异步,可能还需要建个文件导出表,主要记录文件的导出情况,文件的存放地址,用户根据文件列表情况下载导出文件。
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
|
4天前
|
JavaScript 前端开发
【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用
【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用
【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用
|
4天前
|
XML Java 数据格式
使用Freemarker模版导出xls文件使用excel打开提示文件损坏
使用Freemarker模版导出xls文件使用excel打开提示文件损坏
87 0
|
4天前
|
Java
java导出复杂excel
java导出复杂excel
|
1天前
|
JSON Rust 前端开发
【sheetjs】纯前端如何实现Excel导出下载和上传解析?
本文介绍了如何使用`sheetjs`的`xlsx`库在前端实现Excel的导出和上传。项目依赖包括Vite、React、SheetJS和Arco-Design。对于导出,从后端获取JSON数据,通过`json_to_sheet`、`book_new`和`writeFile`函数生成并下载Excel文件。对于上传,使用`read`函数将上传的Excel文件解析为JSON并发送至后端。完整代码示例可在GitHub仓库[fullee/sheetjs-demo](https://github.com/fullee/sheetjs-demo)中查看。
27 10
|
3天前
|
开发框架 资源调度 JavaScript
uniapp本地导出表格excel
uniapp本地导出表格excel
|
4天前
|
前端开发 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
26 0
|
4天前
|
JavaScript
vue导出excel无法打开问题
vue导出excel无法打开问题