From 0ce538e3c3dc01153ce1bfc2d75276881206c222 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期五, 12 十一月 2021 13:34:35 +0800
Subject: [PATCH] 产品代码上传

---
 src/BLL/Demo.Utility/NpoiHelper.cs |  307 +++-----------------------------------------------
 1 files changed, 21 insertions(+), 286 deletions(-)

diff --git a/src/BLL/Demo.Utility/NpoiHelper.cs b/src/BLL/Demo.Utility/NpoiHelper.cs
index 7bae440..0a765f4 100644
--- a/src/BLL/Demo.Utility/NpoiHelper.cs
+++ b/src/BLL/Demo.Utility/NpoiHelper.cs
@@ -4,7 +4,6 @@
 using System.IO;
 using NPOI.HSSF.UserModel;
 using System.Data;
-using System.Collections;
 using System.Drawing;
 using NPOI.HSSF.Util;
 using NPOI.SS.UserModel;
@@ -100,245 +99,6 @@
             if (ds.Tables[0].Rows.Count == 0 && sb.ToString() != "") throw new Exception(sb.ToString());
             return ds;
         }
-        public DataSet ReadExcel1(string FileName, int startRow, params NpoiDataType[] ColumnDataType)
-        {
-            string colNamePix = "F";
-            int ertime = 0;
-            int intime = 0;
-            DataSet ds = new DataSet("ds");
-            DataTable dt = new DataTable("dt");
-            DataRow dr;
-            StringBuilder sb = new StringBuilder();
-            using (FileStream stream = new FileStream(@FileName, FileMode.Open, FileAccess.Read))
-            {
-                IWorkbook workbook = WorkbookFactory.Create(stream);//浣跨敤鎺ュ彛锛岃嚜鍔ㄨ瘑鍒玡xcel2003/2007鏍煎紡
-                //for (int k = 0; k < 14; k++)
-                //{
-                ISheet sheet = workbook.GetSheetAt(0);//寰楀埌閲岄潰绗竴涓猻heet
-                int j;
-                IRow row;
-                #region ColumnDataType璧嬪��
-                if (ColumnDataType.Length <= 0)
-                {
-                    row = sheet.GetRow(startRow - 1);//寰楀埌绗琲琛�
-                    ColumnDataType = new NpoiDataType[row.LastCellNum];
-                    for (int i = 0; i < row.LastCellNum; i++)
-                    {
-                        ICell hs = row.GetCell(i, MissingCellPolicy.CREATE_NULL_AS_BLANK);
-                        ColumnDataType[i] = GetCellDataType(hs); //NpoiDataType.Blank;
-                        //if (i == 6)
-                        //{
-                        //    ColumnDataType[i] = NpoiDataType.Numeric;
-                        //}
-                    }
-                }
-                #endregion
-                for (j = 0; j < ColumnDataType.Length; j++)
-                {
-                    Type tp = GetDataTableType(ColumnDataType[j]);
-                    //if (j == 6)
-                    //{
-                    //    tp = typeof(double);
-                    //}
-                    dt.Columns.Add(colNamePix + (j + 1), tp);
-                }
-
-                ReadExcelEndRow = ReadExcelEndRow == 0 ? sheet.PhysicalNumberOfRows : ReadExcelEndRow;
-                for (int i = startRow - 1; i <= ReadExcelEndRow; i++)
-                {
-                    row = sheet.GetRow(i);//寰楀埌绗琲琛�
-                    if (row == null) continue;
-                    dr = dt.NewRow();
-                    bool flg = false;
-                    for (j = 0; j < ColumnDataType.Length; j++)
-                    {
-
-                        try
-                        {
-                            object temp = GetCellData(ColumnDataType[j], row, j);
-                            dr[colNamePix + (j + 1)] = temp;
-                            if (temp.ToString().Trim() != "")
-                            {
-                                flg = true;
-                            }
-                        }
-                        catch (Exception e)
-                        {
-                            ertime++;
-                            sb.Append(string.Format("绗瑊0}琛岀{1}鍒楁湭璇诲彇:{2}\r\n", i + 1, j + 1, e.Message));
-                        }
-                    }
-                    if (flg)
-                    {
-                        dt.Rows.Add(dr);
-                        intime++;
-                    }
-                }
-                ds.Tables.Add(dt);
-                //}
-            }
-            if (ds.Tables[0].Rows.Count == 0 && sb.ToString() != "") throw new Exception(sb.ToString());
-            return ds;
-        }
-        public DataSet ReadExcel(string FileName, int startRow, int endRow, params NpoiDataType[] ColumnDataType)
-        {
-            if (endRow > 0)
-            {
-                ReadExcelEndRow = endRow;
-            }
-            return ReadExcel(FileName, startRow);
-        }
-
-        public DataSet ReadExcel_double(string FileName, int startRow, int[] colnums, int LastCellNum, params NpoiDataType[] ColumnDataType)
-        {
-            string colNamePix = "F";
-            int ertime = 0;
-            int intime = 0;
-            DataSet ds = new DataSet("ds");
-            DataTable dt = new DataTable("dt");
-            DataRow dr;
-            StringBuilder sb = new StringBuilder();
-            using (FileStream stream = new FileStream(@FileName, FileMode.Open, FileAccess.Read))
-            {
-                IWorkbook workbook = WorkbookFactory.Create(stream);//浣跨敤鎺ュ彛锛岃嚜鍔ㄨ瘑鍒玡xcel2003/2007鏍煎紡
-                ISheet sheet = workbook.GetSheetAt(0);//寰楀埌閲岄潰绗竴涓猻heet
-                int j;
-                IRow row;
-                #region ColumnDataType璧嬪��
-                if (ColumnDataType.Length <= 0)
-                {
-                    row = sheet.GetRow(startRow - 1);//寰楀埌绗琲琛�
-                    ColumnDataType = new NpoiDataType[LastCellNum];
-                    for (int i = 0; i < LastCellNum; i++)
-                    {
-                        ICell hs = row.GetCell(i, MissingCellPolicy.CREATE_NULL_AS_BLANK);
-                        ColumnDataType[i] = GetCellDataType(hs); //NpoiDataType.Blank;
-                    }
-                }
-                #endregion
-                for (j = 0; j < ColumnDataType.Length; j++)
-                {
-                    Type tp = GetDataTableType(ColumnDataType[j]);
-                    dt.Columns.Add(colNamePix + j, tp);
-                }
-
-                ReadExcelEndRow = ReadExcelEndRow == 0 ? sheet.PhysicalNumberOfRows : ReadExcelEndRow;
-                for (int i = startRow - 1; i <= ReadExcelEndRow; i++)
-                {
-                    row = sheet.GetRow(i);//寰楀埌绗琲琛�
-                    if (row == null) continue;
-                    try
-                    {
-                        dr = dt.NewRow();
-                        bool co = false;
-                        for (j = 0; j < ColumnDataType.Length; j++)
-                        {
-                            co = false;
-                            for (int c = 0; c < colnums.Length; c++)
-                            {
-                                if (j == colnums[c])
-                                {
-                                    co = true;
-                                    break;
-                                }
-
-                            }
-                            if (co && i != 0)
-                                dr[colNamePix + j] = GetCellData_double(ColumnDataType[j], row, j);
-                            else
-                                dr[colNamePix + j] = GetCellData(ColumnDataType[j], row, j);
-                        }
-                        dt.Rows.Add(dr);
-                        intime++;
-                    }
-                    catch (Exception er)
-                    {
-                        ertime++;
-                        sb.Append(string.Format("绗瑊0}琛屽嚭閿欙細{1}\r\n", i + 1, er.Message));
-                        continue;
-                    }
-                }
-                ds.Tables.Add(dt);
-            }
-            if (ds.Tables[0].Rows.Count == 0 && sb.ToString() != "") throw new Exception(sb.ToString());
-            return ds;
-        }
-
-        public DataSet ReadExcel_Sheet2(string FileName, int startRow, int[] colnums, params NpoiDataType[] ColumnDataType)
-        {
-            string colNamePix = "F";
-            int ertime = 0;
-            int intime = 0;
-            DataSet ds = new DataSet("ds");
-            DataTable dt = new DataTable("dt");
-            DataRow dr;
-            StringBuilder sb = new StringBuilder();
-            using (FileStream stream = new FileStream(@FileName, FileMode.Open, FileAccess.Read))
-            {
-                IWorkbook workbook = WorkbookFactory.Create(stream);//浣跨敤鎺ュ彛锛岃嚜鍔ㄨ瘑鍒玡xcel2003/2007鏍煎紡
-                ISheet sheet = workbook.GetSheetAt(1);//寰楀埌閲岄潰绗簩涓猻heet
-                int j;
-                IRow row;
-                #region ColumnDataType璧嬪��
-                if (ColumnDataType.Length <= 0)
-                {
-                    row = sheet.GetRow(startRow - 1);//寰楀埌绗琲琛�
-                    ColumnDataType = new NpoiDataType[row.LastCellNum];
-                    for (int i = 0; i < row.LastCellNum; i++)
-                    {
-                        ICell hs = row.GetCell(i, MissingCellPolicy.CREATE_NULL_AS_BLANK);
-                        ColumnDataType[i] = GetCellDataType(hs); //NpoiDataType.Blank;
-                    }
-                }
-                #endregion
-                for (j = 0; j < ColumnDataType.Length; j++)
-                {
-                    Type tp = GetDataTableType(ColumnDataType[j]);
-                    dt.Columns.Add(colNamePix + j, tp);
-                }
-
-                ReadExcelEndRow = ReadExcelEndRow == 0 ? sheet.PhysicalNumberOfRows : ReadExcelEndRow;
-                for (int i = startRow - 1; i <= ReadExcelEndRow; i++)
-                {
-                    row = sheet.GetRow(i);//寰楀埌绗琲琛�
-                    if (row == null) continue;
-                    try
-                    {
-                        dr = dt.NewRow();
-                        bool co = false;
-                        for (j = 0; j < ColumnDataType.Length; j++)
-                        {
-                            for (int c = 0; c < colnums.Length; c++)
-                            {
-                                if (j == colnums[c])
-                                {
-                                    co = true;
-                                    break;
-                                }
-
-                            }
-                            if (co)
-                                dr[colNamePix + j] = GetCellData_double(ColumnDataType[j], row, j);
-                            else
-                                dr[colNamePix + j] = GetCellData(ColumnDataType[j], row, j);
-                        }
-                        dt.Rows.Add(dr);
-                        intime++;
-                    }
-                    catch (Exception er)
-                    {
-                        ertime++;
-                        sb.Append(string.Format("绗瑊0}琛屽嚭閿欙細{1}\r\n", i + 1, er.Message));
-                        continue;
-                    }
-                }
-                ds.Tables.Add(dt);
-            }
-            if (ds.Tables[0].Rows.Count == 0 && sb.ToString() != "") throw new Exception(sb.ToString());
-            return ds;
-        }
-
-
         #endregion
         #region//璇诲彇澶氫釜sheet
         public DataSet ReadExcelSub(string FileName, int startRow, params NpoiDataType[] ColumnDataType)
@@ -934,12 +694,9 @@
                         cell = row.CreateCell(j);//鍒涘缓绗�0琛岀殑绗琷鍒�
                         cell.CellStyle = style1;//鍗曞厓鏍煎紡璁剧疆鏍峰紡
 
-                        try
-                        {
-                            cell.SetCellType(CellType.String);
-                            cell.SetCellValue(columnValue.ToString());
-                        }
-                        catch { }
+                        cell.SetCellType(CellType.String);
+                        cell.SetCellValue(columnValue.ToString());
+
 
                     }
                     catch
@@ -1120,13 +877,8 @@
                         cell = row.CreateCell(j);//鍒涘缓绗�0琛岀殑绗琷鍒�
                         cell.CellStyle = style1;//鍗曞厓鏍煎紡璁剧疆鏍峰紡
 
-                        try
-                        {
-                            //cell.SetCellType(CellType.STRING);
-                            cell.SetCellValue(columnValue.ToString());
-                        }
-                        catch { }
-
+                        //cell.SetCellType(CellType.STRING);
+                        cell.SetCellValue(columnValue.ToString());
                     }
                     catch
                     {
@@ -1301,18 +1053,16 @@
             {
                 return null;
             }
-            try
+
+            if (obj.ToString().Contains("鏈�") && obj.ToString().Contains("-") && objcell.DateCellValue != null)
             {
-                if (obj.ToString().Contains("鏈�") && obj.ToString().Contains("-") && objcell.DateCellValue != null)
-                {
-                    datatype = NpoiDataType.Datetime;
-                }
-                else if (objcell.CellType == CellType.Numeric && (obj.ToString().Contains("-") || obj.ToString().Contains("/")) && objcell.DateCellValue != null)
-                {
-                    datatype = NpoiDataType.Datetime;
-                }
+                datatype = NpoiDataType.Datetime;
             }
-            catch { }
+            else if (objcell.CellType == CellType.Numeric && (obj.ToString().Contains("-") || obj.ToString().Contains("/")) && objcell.DateCellValue != null)
+            {
+                datatype = NpoiDataType.Datetime;
+            }
+
 
             if (datatype == NpoiDataType.Datetime)
             {
@@ -1359,23 +1109,12 @@
             {
                 if (obj != null)
                 {
-                    try
+                    obj = obj.ToString().Trim().Replace("\n", "");//鍘绘帀鍥炶溅锛宭igerui tree涓嶆敮鎸佸洖杞�
+                    if (obj.ToString().StartsWith("."))
                     {
-                        obj = obj.ToString().Trim().Replace("\n","");//鍘绘帀鍥炶溅锛宭igerui tree涓嶆敮鎸佸洖杞�
-                        if (obj.ToString().StartsWith("."))
-                        {
-                            try
-                            {
-                                decimal.Parse("0" + obj.ToString());
-                                obj = "0" + obj.ToString();
-                            }
-                            catch
-                            {
-                            }
-                        }
-                    }
-                    catch (Exception e4)
-                    {
+
+                        decimal.Parse("0" + obj.ToString());
+                        obj = "0" + obj.ToString();
                     }
                 }
             }
@@ -1411,15 +1150,11 @@
                     break;
                 case CellType.Numeric:
                     dtype = NpoiDataType.String;
-                    try
+                    if (hs.NumericCellValue.ToString().Contains("-") || hs.NumericCellValue.ToString().Contains("/") || hs.ToString().Contains("-") || hs.ToString().Contains("/"))
                     {
-                        if (hs.NumericCellValue.ToString().Contains("-") || hs.NumericCellValue.ToString().Contains("/") || hs.ToString().Contains("-") || hs.ToString().Contains("/"))
-                        {
-                            hs.DateCellValue.ToString();
-                            dtype = NpoiDataType.Datetime;
-                        }
+                        hs.DateCellValue.ToString();
+                        dtype = NpoiDataType.Datetime;
                     }
-                    catch { }
                     cellvalue = hs.NumericCellValue.ToString();
                     break;
                 case CellType.String:

--
Gitblit v1.9.1