有史以來功能最全,使用最簡單的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; }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM