SharePoint2013 Excel导出好的代码

C#Excel操作类ExcelHelper.cs

来源:http://www.hellocsharp.com/article/67.aspx

C#源码世界 发布于: 2014-09-12

使用本类之前必须在本机安装了office excel组件或直接下载Microsoft.Office.Interop.Excel.dll文件引用到项目目录下:

然后复制下面的类到项目中:

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using Microsoft.Office.Interop.Excel;
using System.Data;
using System.Reflection;
using System.Data.OleDb;

namespace ExcelHelper
{
    /// <summary>
    /// C#与Excel交互类
    /// </summary>
    public class myExcelHelper
    {
        #region 导出到Excel
        #region ExportExcelForDataTable
        /// <summary>
        /// 从DataTable导出Excel,指定列别名,指定要排除的列
        /// </summary>
        /// <param name="dt">DataTable</param>
        /// <param name="excelPathName">含Excel名称的保存路径 在pathType=1时有效,其它请赋值空字符串</param>
        /// <param name="pathType">路径类型。只能取值:0客户自定义路径;1服务端定义路径,标识文件保存路径是服务端指定还是客户自定义路径及文件名</param>
        /// <param name="colName">各列的列名List string </param>
        /// <param name="excludeColumn">要显示/排除的列</param>
        /// <param name="excludeType">显示/排除列方式 0为所有列 1指定的为要显示的列 2指定的为要排除的列</param>
        /// <param name="sheetName">sheet1的名称 为空字符串时保持默认名称</param>
        /// <param name="TemplatePath">模版在项目服务器中路径 例:tp.xlsx 为空字符串时表示无模版</param>
        /// <param name="TemplateRow">模版中已存在数据的行数,无模版时请传入参数 0</param>
        /// <param name="exDataTableList">扩展 DataTable List 用于当上下两个及以上DataTable数据类型不一至,但又都在同一列时使用,要求格式与参数第一个 DataTable的列名字段名一至,仅字段类型可不同</param>
        /// <returns>bool</returns>
        public static bool ToExcelForDataTable(System.Data.DataTable dt, string excelPathName, string pathType, List<string> colName, List<string> excludeColumn, string excludeType, string sheetName, string TemplatePath, int TemplateRow, List<System.Data.DataTable> exDataTableList)
        {
            try
            {
                if (dt == null || dt.Rows.Count == 0) return false;
                Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
                if (xlApp == null)
                {
                    return false;
                }
                System.Globalization.

转载于:https://www.cnblogs.com/TNSSTAR/p/4060661.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于PMOS的电源防反接电路

如下图所示&#xff0c;是来自TI的参考设计TIDA-00982中的一个电路&#xff0c;功能主要是防止输入反接&#xff0c;R6和C6形成吸收回路&#xff0c;可以对上电过冲有一定的抑制作用。电源正常接入时&#xff0c;PMOS导通&#xff0c;给负载供电&#xff0c;由于VDS的存在&…

计算机组成原理随笔(一)

1 计算机体系结构 计算机革命发展得非常快速&#xff0c;以至于使用老式计算机的很多电影现在看起来十分有年代感&#xff0c;有的电影甚至无法预料后来的计算机是什么样的。 计算机各个组成部分的技术发展非常不均衡&#xff0c;各部分性能差异非常大。在计算机的发展前期&a…

Mongo读书笔记1 -- GridFS

一个Mongo文档最大4M. GridFS不依赖于MongoDB, 其他符合规范的驱动都可以访问它。 GridFS包含两部分&#xff1a;一部分存储文件名和其他metadata; 另一部分存储实际的文件&#xff0c;通常分成一个个大小为256k的小块。 这两个部分通常被命名为files和chunks,在fs命名空间下&a…

简单搭建一个SSM项目(一)

简单搭建一个用户管理的SSM项目框架&#xff0c;虽然也能用servletjdbc搭建更简单的&#xff0c;不过个人感觉工作中更多用的ssm框架项目&#xff0c;这里就简单用ssm来搭建需要的项目吧。 准备工具&#xff1a;eclipse、jdk1.7、Mysql、maven、tomcat。&#xff08;请先确定计…

httpd2.4源码编译

系统版本&#xff1a;RedHat6.5内核版本&#xff1a;2.6.32-431.el6.x86_641、安装httpd2.4版本的软件&#xff0c;首先需要安装apr和apr-util这两个软件包&#xff1b;注意:apr和apr-util的版本&#xff0c;必须在1.5以上&#xff0c;否则会报错[rootnode1 ~]# ls apr-1.5.2.t…

Hadoop随笔(一)

文章目录1 大数据概述1.1 什么是大数据1.2 大数据技术背后的核心思想1.2.1 把数据分发到多个节点1.2.2 把计算逻辑移到数据附近1.2.3 计算节点进行本地数据处理1.2.4 优选顺序读&#xff0c;次之随机读1.2.5 例子1.3 大数据的编程模型1.3.1 大规模并行处理数据库系统1.3.2 内存…

android wp主题,WP桌面:win10系统的最佳替代安卓应用

WP桌面是信壹网络继刷机大师、ROOT大师和安卓清理大师后重点开发的一款仿windows phone风格的手机桌面应用&#xff0c;从2012年推出至今已获得海内外千万粉丝的好评。这个基于Android开发的手机桌面&#xff0c;这不仅仅体现了WP桌面良好的用户体验&#xff0c;同时也从侧面反…

反转一个值中的最后n位

这是在《使用位运算显示二进制数》的基础上进一步扩展&#xff0c;实现反转一个值中最后n位&#xff0c;参数为n和要反转的值。 ~可以一个字节中所有的位&#xff0c;而不是选定的少数位。为达到指定要求&#xff0c;需创建一个掩码&#xff0c;该掩码最后n位设为1&#xff0c;…

数据结构杂谈(三)

本文的所有代码均由C编写 如果你已经看完这篇杂谈,你可以前往上一篇杂谈→数据结构杂谈&#xff08;二&#xff09;_尘鱼好美的小屋-CSDN博客 3 单链表 文章目录3 单链表[toc]3.1 单链表的定义3.1.1 引入2.1.2 单链表和顺序表的优劣2.1.3 单链表的代码定义3.2 单链表的初始化3.…

Mac Book Pro不能识别移动硬盘

2019独角兽企业重金招聘Python工程师标准>>> 今天把一台Mac Book Pro重装了一下系统&#xff0c;然后想把移动硬盘上的资料考入电脑&#xff0c;发现插上移动硬盘电脑没有反映。马上搜索解决办法&#xff0c;众说纷纭。因为没重装之前是好的&#xff0c;所以判断为软…

java将ascii数组转成unicode字串

//转 byte[] bytes; String str new String(bytes, "GBK"); //回转 byte b; b (byte)str.charAt(0); 转载于:https://www.cnblogs.com/feilv/p/4070405.html

des加密解密JAVA与.NET互通实例

JAVA版本 import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import javax.crypto.spec.IvParameterSpec;public class Des {private byte[] desKey;//解密数据public static String d…

signature=ec663bb1ca3cfa2e278da44aa044d1c6,Fair Exchange of Signatures with Multiple Signers

摘要&#xff1a;Chen et al.~introduced a new notion of a concurrent signature scheme for a fair exchange of signatures with two parties. Chen et al. also proposed a concrete scheme and proved its security under the assumption of discrete logarithm problem.…

数据库杂谈(四)——关系演算和E-R数据模型

文章目录3 形式化关系查询语言3.2 关系演算和E-R数据模型3.2.1 概述3.2.2 元组关系演算3.2.2.1 概述3.2.2.2 形式化定义3.2.2.3 表达式的安全性3.2.3 域关系演算3.2.4 关于关系演算的习题3.2.5 对传统数据模型的评价3.2.6 E-R数据模型3.2.6.1 基本概念3.2.6.2 E-R图3.2.7 题型总…

jQuery获取浏览器URL链接的值

代码&#xff1a; 方法一&#xff1a; $.extend({getUrlVars: function () {var vars [], hash;var hashes window.location.href.slice(window.location.href.indexOf(?) 1).split(&);for (var i 0; i < hashes.length; i) {hash hashes[i].split();vars.push(ha…

小程序获取微信用户绑定的手机号

小程序API内提供getPhoneNumber借口来获取用户已经绑定到微信的手机号,但需要用户主动触发才能发起获取手机号接口&#xff0c;所以该功能不由 API 来调用; 基本流程如下: 使用方法 需要将 <button> 组件 open-type 的值设置为 getPhoneNumber&#xff0c;当用户点击并同…

华为正式发布鸿蒙多久可以用,华为正式发布鸿蒙OS,手机随时能用

8月9日下午&#xff0c;华为在松山湖召开了HDC2019开发者大会&#xff0c;而在此次大会上华为正式发布了传说中的华为鸿蒙系统&#xff0c;也就是Harmony OS。鸿蒙系统它是一个基于微内核的全新全长近分布式的操作系统&#xff0c;它不仅仅局限于某一个设备使用而是可以在其智慧…

WCF rest 的帮助页面和缓存机制

打开vs2010 在工具选项中选择扩展管理器——联机库 安装WCF REST Service Template 40(CS)模板 安装后新建wcf服务应用程序&#xff0c;删除默认建立的文件。 新建RestWcf4HelpPage.svc&#xff0c;代码如下 using System; using System.Collections.Generic; using System.Lin…

数据结构杂谈番外篇——时间复杂度计算

我们先给出推导的方法&#xff0c;然后下面一步一步来推导。 推导大O阶 用常数1取代运行时间中的所有加法常数在修改后的运行次数函数中&#xff0c;只保留最高阶项如果最高阶存在且不是1&#xff0c;则去除这个项相乘的常数所得结果即为大O阶 示例 int sum 0&#xff0c;…

DOM对象和JQuery对象的区别

jQuery对象和DOM对象使用说明&#xff0c;需要的朋友可以参考下。1.jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象&#xff0c;哪些是 DOM对象&#xff0c;因此需要重点了解jQuery对象和DOM对象以及它们之间的关系.DOM对象&#xff0c;即是我们用传统的方…