zoukankan      html  css  js  c++  java
  • 有史以来功能最全,使用最简单的excel导入/导出工具

    Github地址:https://github.com/xuanbg/Utility。
    还有其他一些福利,请各位园友自取。下面表格中的方法带有泛型参数,博客园的Markdown似乎不能正确显示。请移步github看readme。

    构造方法

    1、用于导出Excel文件

    NpoiHelper(ExcelVer ver = XLS)

    可使用参数决定生成的文件版本,默认为97-2004版本(.xls)。

    2、用于导入Excel文件

    NpoiHelper(string file)

    NpoiHelper(byte[] data)

    NpoiHelper(Stream stream)

    三个方法分别适用于:本地文件路径、字节数组及数据流。


    导出数据的方法

    方法 功用
    void exportFile(string file) 导出工作簿到Excel文件
    void exportFile(string file, List list) 使用指定的数据集生成Sheet并导出工作簿到Excel文件
    void exportFile(string file, List list, string sheetName) 使用指定的数据集生成指定名称的Sheet并导出工作簿到Excel文件
    MemoryStream exportStream() 导出工作簿到数据流
    MemoryStream exportStream(List list) 使用指定的数据集生成Sheet并导出工作簿到数据流
    MemoryStream exportStream(List list, string sheetName) 使用指定的数据集生成指定名称的Sheet并导出工作簿到数据流
    byte[] exportByteArray() 导出工作簿到字节数组
    byte[] exportByteArray(List list) 使用指定的数据集生成Sheet并导出工作簿到字节数组
    byte[] exportByteArray(List list, string sheetName) 使用指定的数据集生成指定名称的Sheet并导出工作簿到字节数组
    void createTemplate() 创建一个用于导入数据的模板Sheet
    void createTemplate(string sheetName) 创建一个用于导入数据且指定名称的Sheet模板
    void createSheet(List list) 使用指定的数据集在工作簿中创建一个Sheet
    void createSheet(List list, string sheetName) 使用指定的数据集在工作簿中创建一个指定名称的Sheet

    导入数据的方法

    方法 功用
    List importSheet() 导入Excel文件中第一个Sheet的数据到指定类型的集合
    List importSheet(int sheetIndex) 导入指定位置的Sheet的数据到指定类型的集合
    List importSheet(string sheetName) 导入指定名称的Sheet的数据到指定类型的集合

    其他方法

    方法 功用
    bool sheetIsExist(int sheetIndex) 指定位置的Sheet是否存在
    bool sheetIsExist(string sheetName) 指定名称的Sheet是否存在
    bool verifyColumns(int sheetIndex, string keys) 校验指定位置的Sheet是否包含关键列,关键列名称以英文逗号分隔
    bool verifyColumns(string sheetName, string keys) 校验指定名称的Sheet是否包含关键列,关键列名称以英文逗号分隔
    bool verifyColumns(int sheetIndex) 校验指定位置的Sheet是否包含关键列
    bool verifyColumns(string sheetName) 校验指定名称的Sheet是否包含关键列

    用于导出/导入数据的实体类属性的特性说明

    特性 功用
    name(默认特性) Excel中的对应的列名
    dateFormat 列的时间/日期格式,默认为:yyyy-MM-dd
    policy Ignorable:导出时忽略(不会导出),Required:导入时文件必须包含此列,否则无法通过关键列校验

    示例如下:

    public class Test
    {
        [ColumnName(Policy.Ignorable)]
        public string id { get; set; }
    
        [ColumnName("名称")]
        public string name { get; set; }
    
        [ColumnName("更新时间", dateFormat = "yyyy-MM-dd hh:mm:ss", policy = Policy.Required)]
        public DateTime updateTime { get; set; }
    }
    
  • 相关阅读:
    PacificA协议小结
    raft协议小结
    python爬虫抓取图片
    composer 的使用和常用命令大全
    php批量同步数据
    VMware虚拟机的安装与配置
    国家和地区代码表
    js判断h5页面地址的打开方式(微信、pc、移动端)
    phpexcel图片获取
    python的文件操作及简单的用例
  • 原文地址:https://www.cnblogs.com/xuanbg/p/8399732.html
Copyright © 2011-2022 走看看