c#excel导入/导出工具
发布日期:2018-02-08 浏览次数:508
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 | 使用指定的数据集生成Sheet并导出工作簿到Excel文件 |
void exportFile | 使用指定的数据集生成指定名称的Sheet并导出工作簿到Excel文件 |
MemoryStream exportStream() | 导出工作簿到数据流 |
MemoryStream exportStream | 使用指定的数据集生成Sheet并导出工作簿到数据流 |
MemoryStream exportStream | 使用指定的数据集生成指定名称的Sheet并导出工作簿到数据流 |
byte[] exportByteArray() | 导出工作簿到字节数组 |
byte[] exportByteArray | 使用指定的数据集生成Sheet并导出工作簿到字节数组 |
byte[] exportByteArray | 使用指定的数据集生成指定名称的Sheet并导出工作簿到字节数组 |
void createTemplate | 创建一个用于导入数据的模板Sheet |
void createTemplate | 创建一个用于导入数据且指定名称的Sheet模板 |
void createSheet | 使用指定的数据集在工作簿中创建一个Sheet |
void createSheet | 使用指定的数据集在工作簿中创建一个指定名称的Sheet |
导入数据的方法
方法 | 功用 |
---|---|
List | 导入Excel文件中第一个Sheet的数据到指定类型的集合 |
List | 导入指定位置的Sheet的数据到指定类型的集合 |
List | 导入指定名称的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 | 校验指定位置的Sheet是否包含关键列 |
bool verifyColumns | 校验指定名称的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; }
}
上一篇: C# 将PDF转为SVG的3种情况
下一篇: c#随机生成不重复的数字
本文网址:https://www.wyxxw.cn/blog-detail-2-6-78.html
非特殊说明,本文版权归原作者所有,转载请注明出处
提示:本站所有资源仅供学习与参考,请勿用于商业用途。图片来自互联网~如侵犯您的权益,请联系QQ:1067507709.
提示:转载请注明来自:https://www.cnblogs.com/xuanbg/p/8399732.html 。 转载人:momo