<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      通用類 對象Excel互轉

        1 public class ExcelHelper
        2     {
        3     
        4         public void Demo(string filePath)
        5         {
        6             if (File.Exists(filePath)) File.Delete(filePath);
        7          var   RootElement = new XLWorkbook();
        8             var   workSheet = RootElement.AddWorksheet("Demo");
        9             RootElement.SaveAs(filePath);
       10         }
       11         public void CreatNewFile(string filePath,string workSheetName)
       12         {
       13             if (File.Exists(filePath)) File.Delete(filePath);
       14             var RootElement = new XLWorkbook();
       15             var workSheet = RootElement.AddWorksheet(workSheetName);
       16             RootElement.SaveAs(filePath); 
       17         }
       18 
       19         public List<T> ReadeExcel<T>(string filePath) where T:new()
       20         {
       21             if (!File.Exists(filePath)) throw new Exception("目標文件不存在");
       22             bool result = true;
       23             int index = 1;
       24             string Identity = "";
       25             XLWorkbook RootElement = new XLWorkbook(filePath);
       26             List<T> list = new List<T>();
       27             IXLWorksheet workSheet = RootElement.Worksheet(1);
       28             Dictionary<int, string> keys = new Dictionary<int, string>();
       29             while (result)
       30             {
       31                 Identity = (workSheet.Cell(1, index).Value + "").Trim();
       32                 if (string.IsNullOrEmpty(Identity))result = false;
       33                 else keys.Add(index, Identity);index++;
       34             }
       35             result = true;
       36             index = 2;
       37             while (result)
       38             {
       39                 Identity = workSheet.Cell(index, 1).Value + "";
       40                 if (string.IsNullOrEmpty(Identity))
       41                 {
       42                     result = false;
       43                 }
       44                 else
       45                 {
       46                     var model = new T();
       47                     var t = model.GetType();
       48                     foreach (var item in t.GetProperties())
       49                     {
       50                         var proper = keys.FirstOrDefault(p => p.Value == item.Name);
       51                         if (proper.Value == null)
       52                         {
       53                             item.SetValue(model, "", null);
       54                         }
       55                         else
       56                         {
       57                             item.SetValue(model, workSheet.Cell(index, proper.Key).Value + "", null);
       58                         }
       59                     }
       60                     list.Add(model);
       61                     index++;
       62                 }
       63 
       64             }
       65 
       66 
       67             return list;
       68         }
       69 
       70         public bool WriteExcel<T>(List<T> source,string filePath)
       71         {
       72             var type = typeof(T);
       73             CreatNewFile(filePath, type.Name);
       74             XLWorkbook RootElement = new XLWorkbook(filePath);
       75             List<T> list = new List<T>();
       76             IXLWorksheet workSheet = RootElement.Worksheet(type.Name);
       77             int i = 1;
       78 
       79             Dictionary<int, string> keys = new Dictionary<int, string>();
       80             foreach (var item in type.GetProperties())
       81                 keys.Add(i++, item.Name);
       82 
       83 
       84             i = 1;
       85             foreach (var key in keys)
       86                 workSheet.Cell(i, key.Key).Value = key.Value;
       87 
       88             foreach (var item in source)
       89             {
       90                 i++;
       91                 type = item.GetType();
       92                 foreach (var key in keys)
       93                 {
       94                     var vaue = type.GetProperty(key.Value);
       95                     if (vaue != null) 
       96                         workSheet.Cell(i, key.Key).Value = vaue.GetValue(item); 
       97                     else 
       98                         workSheet.Cell(i, key.Key).Value = ""; 
       99                 } 
      100             } 
      101             RootElement.Save();
      102 
      103             return true;
      104         }
      105 
      106 
      107     }

       

      posted @ 2018-09-03 17:42  個人天使  閱讀(293)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 色噜噜在线视频免费观看| 人妻无码| 欧洲亚洲国内老熟女超碰| 国内熟妇人妻色在线视频| 老太脱裤让老头玩ⅹxxxx| 少妇午夜福利一区二区三区| 国产美女69视频免费观看| 国产91小视频在线观看| 成人片黄网站a毛片免费| 国外av片免费看一区二区三区| 白嫩少妇激情无码| 亚洲综合黄色的在线观看| 宜兴市| 在线观看精品日本一区二| 美女无遮挡免费视频网站| 国产精品成人一区二区不卡| 一区二区不卡99精品日韩| 久久先锋男人AV资源网站| 普兰店市| 人妻伦理在线一二三区| 国产精品自在欧美一区| 2019香蕉在线观看直播视频| 久久一日本道色综合久久| 99久久久无码国产精品免费| 欧美日产国产精品日产| 日韩人妻不卡一区二区三区| 精品无码成人片一区二区98| 性欧美VIDEOFREE高清大喷水 | 欧洲码亚洲码的区别入口 | 国产欧美日韩精品第二区| 人妻丰满熟妇av无码区| 在线播放亚洲成人av| 乱人伦人妻中文字幕| 亚洲另类在线制服丝袜国产| 成人综合人人爽一区二区| 国产高清精品一区二区三区| 亚洲韩国精品无码一区二区三区| 国产jlzzjlzz视频免费看| 国产精品午夜福利片国产| 人妻av无码一区二区三区| 午夜福利国产区在线观看|