protected void Page_Load(object sender, EventArgs e)    {
       DataTable dt = new DataTable();    
   DataColumn dc = new DataColumn("id");     
  dt.Columns.Add(dc);      
 dc = new DataColumn("name");  
     dt.Columns.Add(dc);    
   dt.Rows.Add("1", "a");    
   dt.Rows.Add("2", "b");    
   dt.Rows.Add("3", "c");     
  DataTable dt1 = new DataTable();   
    DataColumn dc1 = new DataColumn("id");    
   dt1.Columns.Add(dc1);   
    dc1 = new DataColumn("name");   
    dt1.Columns.Add(dc1);  
     dt1.Rows.Add("4", "j");   
    dt1.Rows.Add("5", "k");    
   dt1.Rows.Add("6", "l");      
 DataSet ds = new DataSet();   
    ds.Tables.Add(dt);   
    ds.Tables.Add(dt1);    
   ConvertToExcel(ds); 
  }

public string ConvertToExcel(DataSet ds)    {     
  string FilePath;   
    Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();        ExcelApp.Application.Workbooks.Add(Type.Missing);   
    DataTable dt = ds.Tables[0];     
  DataTable dt1 = ds.Tables[1];     
  Microsoft.Office.Interop.Excel.Worksheet Sheet1 = (Microsoft.Office.Interop.Excel.Worksheet)ExcelApp.Sheets[1];   
    for (int i = 0; i < dt.Columns.Count; i++)     
  {          
 Sheet1.Cells[1, i + 1] = dt.Columns[i].ColumnName;   
    }      
 for (int i = 0; i < dt.Rows.Count; i++)  
     {         
  for (int j = 0; j < dt.Columns.Count; j++)     
      {             
  Sheet1.Cells[i + 2, j + 1] = dt.Rows[i][j].ToString();   
        }   
    }      
 Microsoft.Office.Interop.Excel.Worksheet Sheet2 = (Microsoft.Office.Interop.Excel.Worksheet)ExcelApp.Sheets[2];    
   for (int i = 0; i < dt1.Columns.Count; i++)    
   {            Sheet2.Cells[1, i + 1] = dt1.Columns[i].ColumnName;        }     
  for (int i = 0; i < dt1.Rows.Count; i++)     
  {            for (int j = 0; j < dt1.Columns.Count; j++)  
         {                Sheet2.Cells[i + 2, j + 1] = dt1.Rows[i][j].ToString();    
       }    
   }      
 FilePath = "d:\\" + Guid.NewGuid() + ".xls";      
 if (FilePath != string.Empty)      
 {            ExcelApp.ActiveWorkbook.SaveAs(FilePath, Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel5, null, null, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);    
       ExcelApp.ActiveWorkbook.Saved = true;      
     ExcelApp.Quit();    
   }   
    return FilePath;  
 }

导出Excel多个表多个sheet的更多相关文章

  1. 根据模板导出Excel报表并生成多个Sheet页

    因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为  根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...

  2. 使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!

    一.需求 我们会遇到开发任务: 经理:小王,你来做一下把数据库里的数据导出到Excel中,一个表是一个sheet,不要一个表一个Excel. 小王:好的,经理.(内心一脸懵逼) 二.前期准备 首先我们 ...

  3. 利用poi导出Excel

    import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.r ...

  4. POI导出excel文件样式

    需求: 公司业务和银行挂钩,各种形式的数据之间交互性比较强,这就涉及到了存储形式之间的转换 比如数据库数据与excel文件之间的转换 解决: 我目前使用过的是POI转换数据库和文件之间的数据,下边上代 ...

  5. 【ITOO 1】将List数据导出Excel表

    需求描述:在课表导入的时候,首先给用户提供模板(excel),然后将用户填写好的数据读取到list集合中.再进行判空处赋值处理,以及去重处理.这篇博客,主要介绍读取excel表和导出excel表的方法 ...

  6. 导出excel表功能

    前台: <asp:Button ID="btndao" runat="server"  Text="导出excel文件" onclic ...

  7. C#导入导出Excel表的数据

    一:C#导入导出EXCEL文件的类 代码如下: 首先将Microsoft Excel 14.0 Object Library 引用导入 using System; using System.Data; ...

  8. C# 导出Excel 多个Sheet

    以下代码中最关键的代码是 Worksheet mSheet = (Microsoft.Office.Interop.Excel.Worksheet)mBook.Worksheets.Add(miss, ...

  9. C# EPPlus导出EXCEL,并生成Chart表

    一  在negut添加EPPlus.dll库文件. 之前有写过直接只用Microsoft.Office.Interop.Excel 导出EXCEL,并生成Chart表,非常耗时,所以找了个EPPlus ...

随机推荐

  1. UOJ#454. 【UER #8】打雪仗

    UOJ#454. [UER #8]打雪仗 http://uoj.ac/problem/454 分析: 好玩的通信题~ 把序列分成三块,\(bob\)先发出这三块中询问点最多的一块给\(alice\). ...

  2. [TopCoder12727]FoxAndCity

    vjudge 题意 你有一张\(n\)点的无向图,每个点有一个点权\(w_i\).图中原来存在一些边,你可以任意给这张图加上一些边. 记点\(i\)到点\(1\)的距离为\(d_i\),你需要最小化\ ...

  3. LeetCode Continuous Subarray Sum

    原题链接在这里:https://leetcode.com/problems/continuous-subarray-sum/description/ 题目: Given a list of non-n ...

  4. 图m的着色问题(搜索)

    图的m着色问题 [问题描述]        给定无向连通图G和m种不同的颜色.用这些颜色为图G的各顶点着色,每个顶点着一种颜色.如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的 ...

  5. 利用MsChart控件绘制多曲线图表

    在.Net4.0框架中,微软已经将Mschart控件集成了进来,以前一直在web下面用过,原来winform下的Mschart控件更加简单更加方便,今天我们用mschart绘制一个多曲线图,发现MsC ...

  6. POJ2236(并查集入门)

    Wireless Network Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 22977   Accepted: 961 ...

  7. H264码流结构分析和rtp打包结构详解

    网络抽象层单元类型 (NALU): NALU头由一个字节组成,它的语法如下: +---------------+      |0|1|2|3|4|5|6|7|      +-+-+-+-+-+-+-+ ...

  8. Swing编程练习。可能这篇会有错误哦

    总结:21岁的思思是华为的初级女java工程师,我等女流怎么办呢? Swing.图形用户界面的编程,panel起了很大作用 package com.da; import java.awt.Color; ...

  9. iOS中的数据存储

    SQLite3 SQLite3是一款开源的嵌入式关系型数据库,可移植性好,易使用,内存开销小. SQLite3是无类型的,意味着你可以保存任何类型的数据到任意表的任意字段中. SQLite3常用的4种 ...

  10. iOS下拉图片放大

    效果图 开始简单的代码过程 其实思路很简单 就是 让tableView偏移 一图片的高度,然后在把图片添加到tableView中,然后再监听didScrollView,在里面改变图片的frame - ...