Github地址:https://github.com/xuanbg/Utility。 還有其他一些福利,請各位園友自取。下麵表格中的方法帶有泛型參數,博客園的Markdown似乎不能正確顯示。請移步github看readme。 構造方法 1、用於導出Excel文件 NpoiHelper(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 | 使用指定的數據集生成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; }
}