导出Excel多个表多个sheet

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;  
 }

时间: 2024-10-13 06:21:13

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

利用poi导出Excel

import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.sql.Date;import java.util.ArrayList;import java.util.List; import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.

页面导出Excel文件总结

1 概述: 1.1 导出耗时环节 1.利用MySQL语句查询行号,作为导出表格的序号 2.查询数据按照船代分组,Java代码获取分组数据 3.导出Excel文件按照船代分sheet页 4.导出设置错行号,导致表格标题丢失 5.设置导出表格样式 1.2 导出难点: 1.查询数据按照船代分组,Java代码获取分组数据 2.导出Excel文件按照船代分sheet页 2 利用MySQL语句查询行号,作为导出表格的序号 将数据库查询数据导出到Excel文件,Excel文件里有一列是序号,一般情况下,序号可

POI导出excel文件样式

需求: 公司业务和银行挂钩,各种形式的数据之间交互性比较强,这就涉及到了存储形式之间的转换 比如数据库数据与excel文件之间的转换 解决: 我目前使用过的是POI转换数据库和文件之间的数据,下边上代码 package org.triber.portal.model.area; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.hssf.util.HSSFColor; import java.io.*; import ja

silverlight RadGridView 复合表头 多表头 导出excel

ListHeaderShow.Clear(); ListHeaderShow.Add("区县"); ListHeaderShow.Add("企业名称"); ListHeaderShow.Add("监测点名称"); ListHeaderShow.Add("监测时间"); Util.Export<T_DATA_DATACOMMON> Exportxls = new Util.Export<T_DATA_DATAC

复合表头的RadGridView导出excel

public class Export<T> where T : new() { /// <summary> /// gridview导出excel /// </summary> /// <param name="Ttype">行对应的对象 如T_data_datacommon</param> /// <param name="Tsource">gridview的数据源</param>

选择性导出excel表中内容

package com.huawei.utils; import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.Date;import java.util.List;import java.util.Map;

Java导出Excel表(poi)名中文乱码问题处理

<pre name="code" class="java">String _filename = ValidateTools.date2Str(date, "yyyyMMddHHmmss"); String filename = f_name + _filename; HSSFSheet sheet; HSSFCell cell; response.setContentType("application/x-download

Java导出Excel Sheet页

1.问题背景 导出Excel表格时,首先要生成Sheet页,下面将介绍如何生成Sheet页 2.实现源码 /** * * @Project: * @Title:ExcelExport.java * @Package:report.utils * @Description: * @Author:YouHaiDong * @Date:2015年11月2日 下午6:29:22 * @Version: */ package report.utils; import java.io.FileNotFoun

NPOI 导出excel 分表

/// <summary> /// 由DataTable导出Excel[超出65536自动分表] /// </summary> /// <param name="sourceTable">要导出数据的DataTable</param> /// <returns>Excel工作表</returns> public MemoryStream ExportDataTableToExcel(DataTable source