源码https://github.com/leoparddne/EPPlusHelper

安装:

Install-Package ExcelUtility -Version 1.1.4

 需要为对象添加特性,

[Column]
//试用Column指定需要保存到excel中的字段
[Description(description:"ATest")]
//使用Description添加表头显示的名称

保存excel的完整示例如下

需要注意单元格定位从0开始,同时需要将待转换的类型传入

public class Table
{
[Column]
[Description(description:"ATest")]
public string A { get; set; } [Column]
[Description(description: "BTest")]
public string B { get; set; } }

ExcelUtility使用方式如下

//首先构造需要保存的对象
var testData = new List<Entity.Table>() {
new Entity.Table { A = "11111f", B = "1111111111111fff" },
new Entity.Table { A = "1111f", B = "111111fff" }
};
//在构造函数中传入表名,如果存在此文件则会删除旧文件
using (var tools = new ExcelHelper(new System.IO.FileInfo("test.xls")))
{
//1:自动化的将list中的数据写入表格
//写入默认的sheet1中
tools.SetData<Entity.Table>(testData);
//可以指定写入的表名
//tools.SetData<Entity.Table>(testData, "testSheet");
tools.Save();
}
using (var tools = new ExcelHelper(new System.IO.FileInfo("test.xls")))
{
//2:提供自定义的方式向任何表写入数据
//首先获取指定的sheet页
//提供默认参数为sheet1,即默认的sheet页
//var workSheet = tools.GetWorkSheet();
//也可以指定sheet页名称
var workSheet = tools.GetWorkSheet("newSheetName");
//向指定的单元格写入数据
workSheet.WriteCell(, , "value");
tools.Save();
}

 将excel中的数据映射到指定的数据类型

要求同上,需要

[Column]
//试用Column指定需要保存到excel中的字段
[Description(description:"ATest")]
//使用Description添加表头显示的名称

使用方式如下

//选择需要转换的表格并指定欲转换类型
var t = new Excel2Data<Table>(new System.IO.FileInfo("test.xls"));
//指定待转换的sheet页,默认值为sheet1
//var data = t.GetData();
var data=t.GetData("newSheetName");

ExcelUtility 对excel的序列化与反序列化,支持当单元格中数据为空时将属性赋值为指定类型的默认值的更多相关文章

  1. excel VBA 将文本数值转换为数字格式(单元格中数据左上角是绿三角,鼠标点上有叹号标示)

    Range("A6").SelectSelection.CopyRange("A10:A60").SelectRange(Selection, Selectio ...

  2. 前端Excel表格导入导出,包括合并单元格,表格自定义样式等

    表格数据导入 读取导入Excel表格数据这里采用的是 xlsx 插件 npm i xlsx 读取excel需要通过 XLSX.read(data, {type: type}) 方法来实现,返回一个叫W ...

  3. 在Excel里用vba给合并的单元格添加注释

    Excel里使用VBA对已经合并的单元格添加注释,直接使用AddComment会报: 运行时错误 '1004':应用程序定义或者对象定义错误 找了很多文章都没找到怎么解决,最后发现在AddCommen ...

  4. Excel应该这么玩——1、命名单元格:干掉常数

    命名单元格:通过名称来引用单元格中的值,常用于引用固定不变的值. 单元格是Excel中存储数据的最小单位,在公式中通过A1.B2之类的名称来引用其中的值.A1只是单元格的坐标,就好像人的身份证号.生活 ...

  5. EXCEL表格单元格中包含数字英文和汉字,如何自动去掉汉字,保留英文和数字

    EXCEL表格单元格中包含数字英文和汉字,如何自动去掉汉字,保留英文和数字 Function 求数字和字母(对象 As String) '在文本与数字混杂中提取数字和字母   Dim myReg    ...

  6. 通过VBA,当在EXCEL单元格中输入任意的日期格式时,都能自动转换为指定的标准格式的日期值

    在日常录入EXCEL表格的单元格里 ,我们输入一些一般性的日期内容,如:2017-10-17 或 2017/10/17时,EXCEL会自动识别为日期并按单元格设计格式显示,单元格中存储的值也是日期格式 ...

  7. 如何在excel单元格中插入图片批注

    在excel单元格中插入图片批注的方法: 1.选定要插入图片的单元格,然后右键选择插入批注. 2.然后会插入一个批注框,为了不影响图片效果,可以将批注文字都删除.然后鼠标移动到批注框边角再右键. 3. ...

  8. POI如何自动调整Excel单元格中字体的大小

    问题 目的是要将Excel中的文字全部显示出来,可以设置对齐格式为[缩小字体填充],但是这样的话只能展示出一行数据,字体会变得很小.还有一种办法,设置对齐格式为[自动换行],然后让单元格中的字体自动调 ...

  9. php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)

    error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...

随机推荐

  1. db2 with用法

    最近在研究db2 递归查询时想到了with,一直以为with只是用来查询递归,但是实际with功能强大,还有更加强大的功能,偶然读到一位大神的文章,对with做了很详细的解读,特贴出来供大家学习研究 ...

  2. linecache:高效的读取文本文件

    介绍  可以很方便的读取文件 读取特定行 import linecache ''' 我们常用的序列的索引是从0开始的,但是linecache模块读取的文件行号是从1开始的 ''' # 表示读取C:\p ...

  3. c++ 二叉树的遍历(迭代,递归)

    #include<iostream> #include <algorithm> #include <vector> #include <set> #in ...

  4. oracle ORA-16038 ORA-00257

    出现 ORA-16038时也可以参考下边的错误,好像有关联影响 出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日 ...

  5. Nginx之什么是反向代理(一)

    什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求 ...

  6. ASTC on Android

    kGL_KHR_texture_compression_astc_ldr kWEBGL_compressed_texture_astc_ldr KHR_texture_compression_astc ...

  7. UVALive 6862——结论题&&水题

    题目 链接 题意:求满足$0 \leq x \leq y \leq z \leq m$且$x^j + y^j = z^j, \ j=2 \cdots n$的三元组的对数 分析 由费马大定理:整数$n ...

  8. 2018-2019 ACM-ICPC Brazil Subregional Programming Contest B. Marbles(博弈)

    题目链接:https://codeforc.es/gym/101908/problem/B 题意:两个人玩游戏,有 n 块石头,初始坐标为(x,y),一次操作可以将一块石头移动到(x - u,y),( ...

  9. JavaScript变量、作用域和内存问题总结

    ㈠理解基本类型和引用类型的值  ⑴JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值. ⑵基本类型的值源自以下 5 种基本数据类型:Undefined.Null.Boolean. ...

  10. SQL Server 基础:ADO.NET

    序言 Connection 主要提供与数据库的连接功能 Command 用于返回数据.修改数据.运行存储过程以及发送或检索参数信息的数据库命令 CommandType 获取或设置Command对象要执 ...