/// <summary>
    /// 将数据导入到Excel
    /// </summary>
    /// <param name="ds">
    /// 需要生成Excel的数据源
    /// DataSet->DataTable->TableName为页(Sheet)名字
    /// DataTable->Column->ColumnName为列名
    /// </param>
    /// <param name="strFilenamePath">生成后文件保存的全路径</param>
    /// <returns></returns>
    public bool ImportToExcel(DataSet ds, string strFilenamePath)
    {
        if (ds.Tables.Count == 0)
            return false;

try
        {
            Microsoft.Office.Interop.Excel.ApplicationClass objApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
            Microsoft.Office.Interop.Excel._Workbook objWorkbook;//工作薄
            Microsoft.Office.Interop.Excel._Worksheet objWorksheet;//工作页
            objWorkbook = objApp.Workbooks.Add(true);

object objMissing = System.Reflection.Missing.Value;

#region 添加数据

for (int i = 0; i < ds.Tables.Count; i++)
            {
                objWorksheet = (Microsoft.Office.Interop.Excel._Worksheet)objWorkbook.ActiveSheet;

//书签名字为表名
                objWorksheet.Name = ds.Tables[i].TableName;

//第一行显示表的列名
                for (int j = 0; j < ds.Tables[i].Columns.Count; j++)
                {
                    objApp.Cells[1, j + 1] = ds.Tables[i].Columns[j].ColumnName;
                }

//正文内容,从第二行开始
                for (int rows = 0; rows < ds.Tables[i].Rows.Count; rows++)
                {
                    for (int cols = 0; cols < ds.Tables[i].Columns.Count; cols++)
                    {
                        objApp.Cells[rows + 2, cols + 1] = ds.Tables[i].Rows[rows][cols].ToString();
                    }
                }

if (i < ds.Tables.Count - 1)
                {
                    objApp.Sheets.Add(objMissing, objMissing, 1, Microsoft.Office.Interop.Excel.XlSheetType.xlWorksheet);
                }
            }

#endregion

objApp.Visible = true;

//将Excel保存到指定路径
            objWorkbook.SaveAs(
                strFilenamePath, objMissing, objMissing, objMissing, objMissing,
                objMissing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, objMissing,
                objMissing, objMissing, objMissing, objMissing);

objApp.Quit();

return true;
        }
        catch (Exception ex)
        {
            string strEXMessage = ex.Message;

return false;
        }
    }

[转载]DataSet导入到Excel文件的更多相关文章

  1. 导入导出Excel文件

    搭建环境 先新建web project ,然后Add Struts Capabilties: 下载导入导出Excel所需的jar包: poi-3.8-20120326.jar包  :  http:// ...

  2. 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转

    效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中[附源代码下载])    本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较   ...

  3. 【转】 (C#)利用Aspose.Cells组件导入导出excel文件

    Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFi ...

  4. (C#)利用Aspose.Cells组件导入导出excel文件

    Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFi ...

  5. ASP.NET Core导入导出Excel文件

    ASP.NET Core导入导出Excel文件 希望在ASP.NET Core中导入导出Excel文件,在网上搜了一遍,基本都是使用EPPlus插件,EPPlus挺好用,但商用需要授权,各位码友若有好 ...

  6. C#将数据导入到excel文件

    最近在做C#对excel的操作程序,简单的与datagridview的交互如下 using System;using System.Collections.Generic;using System.C ...

  7. java中使用poi导入导出excel文件_并自定义日期格式

    Apache POI项目的使命是创造和保持java API操纵各种文件格式基于Office Open XML标准(OOXML)和微软的OLE复合文档格式(OLE2)2.总之,你可以读写Excel文件使 ...

  8. 在ASP.NET Core中使用EPPlus导入出Excel文件

    这篇文章说明了如何使用EPPlus在ASP.NET Core中导入和导出.xls/.xlsx文件(Excel).在考虑使用.NET处理excel时,我们总是寻找第三方库或组件.使用Open Offic ...

  9. java导入导出Excel文件

    package poi.excel; import java.io.IOException; import java.io.InputStream; import java.io.OutputStre ...

随机推荐

  1. webview页面和壳通信的库(精简版)

    // PG精简版 (function() { var PG = { iosBridge: null, callbackId: 0, callbacks: [], commandQueue: [], c ...

  2. 保存会话数据——cookie学习

    Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样,web资源处理的就是用户各自的数据了 ...

  3. [转载]bigtable 中文版

    转载厦门大学林子雨老师的译文 原文: http://dblab.xmu.edu.cn/post/google-bigtable/ Google Bigtable (中文版) 林子雨2012-05-08 ...

  4. Web浏览器的缓存机制

    Web缓存的工作原理 所有的缓存都是基于一套规则来帮助他们决定什么时候使用缓存中的副本提供服务(假设有副本可用的情况下,未被销毁回收或者未被删除修改).这些规则有的在协议中有定义(如HTTP协议1.0 ...

  5. 用命令访问D:\python学习\wendjia教程\aa.py

    用命令访问D:\python学习\wendjia教程\aa.py d:                                -----------切换到D盘 cd python学习\wend ...

  6. lx:这么空!什么叫假大空 xy:那我做给你看

    “如果我答应你,你回来了XY,最后没有在一起肯定会怪我:而且我现在没有想好以后会怎么样” 希望你可以看到我的努力!PS : 坚持以后每日至少一篇.编程是一门手艺,手艺人靠手艺养家! ---手艺人

  7. python和shell变量互相传递的几种方法

    python -> shell: 1.环境变量 复制代码代码如下: import os  var=123或var='123'os.environ['var']=str(var)  #enviro ...

  8. windows多线程框架

    #include <iostream> #include <windows.h> using namespace std; HANDLE hMutex; //public : ...

  9. Windows Server 2012 (2008) 忘记密码重置方法 Windows 10 忘记密码

    要使用windows server 2012安装DVD,选择光盘引导进入 进入修复系统---命令提示符---切换目录至系统目录--执行move命令    先备份  utilman.exe(他就是这个程 ...

  10. Falcon:三代reads比对组装工具箱

    主页:github: PacificBiosciences/FALCON 简介 Falcon是一组通过快速比对长reads,从而来consensus和组装的工具. Falcon工具包是一组简单的代码集 ...