xml地图|网站地图|网站标签 [设为首页] [加入收藏]
运行代码,空行的处理
分类:编程

以英勇联盟为例.分界面上经经常有Load....xxxx.dll.平时都是加载子系统.举例道具系统.英雄系统等.在骨子里支付中有的是品类非常宏大.都会分开成独立子施工方案开荒.早先时期就供给加载回来.日常都以行使代码动态加载.

NPOI读取Excel(2000要么二零一零)重返DataTable。支持公式分析,空行管理。

         /// <summary>读取excel
         /// 默认第一行为表头
         /// </summary>
         /// <param name="strFileName">excel文档绝对路径</param>
         /// <param name="rowIndex">内容行偏移量,第一行为表头,内容行从第二行开始则为1</param>
         /// <returns></returns>
         public static DataTable Import(string strFileName, int rowIndex)
         {
             DataTable dt = new DataTable();

             IWorkbook hssfworkbook;
             using (FileStream file = new FileStream(strFileName, FileMode.Open, FileAccess.Read))
             {
                 hssfworkbook = WorkbookFactory.Create(file);
             }
             ISheet sheet = hssfworkbook.GetSheetAt(0);

             IRow headRow = sheet.GetRow(0);
             if (headRow != null)
             {
                 int colCount = headRow.LastCellNum;
                 for (int i = 0; i < colCount; i++)
                 {
                     dt.Columns.Add("COL_" + i);
                 }
             }

             for (int i = (sheet.FirstRowNum + rowIndex); i <= sheet.LastRowNum; i++)
             {
                 IRow row = sheet.GetRow(i);
                 bool emptyRow = true;
                 object[] itemArray = null;

                 if (row != null)
                 {
                     itemArray = new object[row.LastCellNum];

                     for (int j = row.FirstCellNum; j < row.LastCellNum; j++)
                     {

                         if (row.GetCell(j) != null)
                         {

                             switch (row.GetCell(j).CellType)
                             {
                                 case CellType.NUMERIC:
                                     if (HSSFDateUtil.IsCellDateFormatted(row.GetCell(j)))//日期类型
                                     {
                                         itemArray[j] = row.GetCell(j).DateCellValue.ToString("yyyy-MM-dd");
                                     }
                                     else//其他数字类型
                                     {
                                         itemArray[j] = row.GetCell(j).NumericCellValue;
                                     }
                                     break;
                                 case CellType.BLANK:
                                     itemArray[j] = string.Empty;
                                     break;
                                 case CellType.FORMULA:
                                     if (Path.GetExtension(strFileName).ToLower().Trim() == ".xlsx")
                                     {
                                         XSSFFormulaEvaluator eva = new XSSFFormulaEvaluator(hssfworkbook);
                                         if (eva.Evaluate(row.GetCell(j)).CellType == CellType.NUMERIC)
                                         {
                                              if (HSSFDateUtil.IsCellDateFormatted(row.GetCell(j)))//日期类型
                                              {
                                                  itemArray[j] = row.GetCell(j).DateCellValue.ToString("yyyy-MM-dd");
                                              }
                                              else//其他数字类型
                                              {
                                                  itemArray[j] = row.GetCell(j).NumericCellValue;
                                              }
                                         }
                                         else
                                         {
                                             itemArray[j] = eva.Evaluate(row.GetCell(j)).StringValue;
                                         }
                                     }
                                     else
                                     {
                                         HSSFFormulaEvaluator eva = new HSSFFormulaEvaluator(hssfworkbook);
                                         if (eva.Evaluate(row.GetCell(j)).CellType == CellType.NUMERIC)
                                         {
                                              if (HSSFDateUtil.IsCellDateFormatted(row.GetCell(j)))//日期类型
                                              {
                                                  itemArray[j] = row.GetCell(j).DateCellValue.ToString("yyyy-MM-dd");
                                              }
                                              else//其他数字类型
                                              {
                                                  itemArray[j] = row.GetCell(j).NumericCellValue;
                                              }
                                         }
                                         else
                                         {
                                             itemArray[j] = eva.Evaluate(row.GetCell(j)).StringValue;
                                         }
                                     }
                                     break;
                                 default:
                                     itemArray[j] = row.GetCell(j).StringCellValue;
                                     break;

                             }

                             if (itemArray[j] != null && !string.IsNullOrEmpty(itemArray[j].ToString().Trim()))
                             {
                                 emptyRow = false;
                             }
                         }
                     }
                 }

                 //非空数据行数据添加到DataTable
                 if (!emptyRow)
                 {
                     dt.Rows.Add(itemArray);
                 }
             }
             return dt;
         }

测量试验的公式有TODAY()、IF、VLOOKUP。

测验Excel文件下载。

 

1. GiT的安装

....那些日子点貌似不能够上传图片.将就点看

  • 选料安装程序,Git-1.9.5-preview二零一四0319.exe

 

      图片 1

Father //母解决方案.登入页面和Load.加载子技术方案Dll页面

  •  接收安装模块

 

          图片 2

Father1//母解决方案下的类库有共通的父类.全体的子建设方案都会加载此类库

  • 任何都以暗许安装至成功。

 

Son//子解决方案.器具系统.英雄系统

  • 私下认可安装TortoiseGit,TortoiseGit-2.2.0.0-64bit.msi。

思路是.Father施工方案加载全部的Son子施工方案.利用Father1设计方案产生关联

  • 右键猖狂文件夹,能够看出

 

          图片 3

Father1也许正是三个接口.Son完毕.但是Son独立于Father创建新的解决方案

2. 非常找一个盘,新建”GitTest”文件夹

 

3. 右键”GitTest”文件夹 — 接受“Git Bash Here”,现身命令行分界面

Father1:

   图片 4

 

4. 生成版本库

public interface Class1
{
void run(string message);
}

    在指令行中,输入“git init”

 

    图片 5

 

   在“GitTest”文件夹里生成了版本库“.git”文件夹

Son:

    图片 6

 

5. 在“GitTest”文件夹里新建八个.txt文件

public class Class1:ClassLibrary1.Class1
{
public void run(string message)
{
Console.WriteLine(message);
}
}

    图片 7

 

  1. 在“GitTest”文件夹里的空白点右键—TortoiseGit—Add,现身如下窗口

本文由澳门新葡亰手机版发布于编程,转载请注明出处:运行代码,空行的处理

上一篇:数据预处理,Iris的R语言命令工具箱澳门新葡亰手 下一篇:输入有序数组,第四十题
猜你喜欢
热门排行
精彩图文