//path 路徑  finame檔名
        public static bool StartInsert(string path, string finame)
        {
            bool   result = true;
            int    i      = 0;
            string line;
            List <ITMSUPGEXCRTNC> iTMSUPs = new List <ITMSUPGEXCRTNC>();
            ITMSUPGEXCRTNC        iTMSUP  = new ITMSUPGEXCRTNC();

            try
            {
                Common.WriteLog("開始切割 " + finame);
                FileStream fileStream = File.OpenRead(path);
                using (StreamReader reader = new StreamReader(fileStream, Encoding.GetEncoding(0)))
                {
                    line = reader.ReadLine();
                    //第一行為標頭,從第二行開始
                    if (i == 0)
                    {
                        line = reader.ReadLine();
                    }
                    while (line != null)
                    {
                        line = new Regex("[\\s]+").Replace(line, " ");
                        if (line == " " || line == "")
                        {
                            line = reader.ReadLine();
                            continue;
                        }

                        iTMSUP = splitstrng(line);
                        iTMSUPs.Add(iTMSUP);
                        line = reader.ReadLine();

                        i++;
                    }

                    reader.Close();
                }

                Common.WriteLog("新增DB");
                result = InsertToSql(iTMSUPs);



                Common.WriteLog(finame + "切割完成,一共 " + i + " 筆");
                return(result);
            }
            catch (Exception e)
            {
                Common.WriteLog("ITMSUPGEXCRTNCServices失敗");
                Common.WriteLog(e.ToString());
                result = false;
                return(result);
            }
        }
        //切割字串
        public static ITMSUPGEXCRTNC splitstrng(string input)
        {
            ITMSUPGEXCRTNC iTMSUP = new ITMSUPGEXCRTNC();

            try
            {
                //切割符號
                //string mark = ConfigurationManager.AppSettings["Mark"];
                input = new Regex("[\\s]+").Replace(input, " ");

                //string[] sArray = Regex.Split(input, @"|");

                string[] sArray = input.Split('|');

                iTMSUP = new ITMSUPGEXCRTNC
                {
                    DC                                   = sArray[0],
                    dpno                                 = sArray[1],
                    fullcode                             = sArray[2],
                    SupplierCode                         = sArray[3],
                    stopreasoncode                       = sArray[4],
                    Cname                                = sArray[5],
                    mainsupp                             = sArray[6],
                    realsupp                             = sArray[7],
                    suppCname                            = sArray[8],
                    typeofsales                          = sArray[9],
                    Grade                                = sArray[10],
                    spec                                 = sArray[11],
                    seasoncode                           = sArray[12],
                    Permanentstop                        = sArray[13],
                    Supstop                              = sArray[14],
                    Supstopdate                          = sArray[15],
                    Goodexchangeflag                     = sArray[16],
                    OnlyBreakage                         = sArray[17],
                    Venderneedcheckproduct               = sArray[18],
                    Goodexchangeflagforstopitem          = sArray[19],
                    OnlyBreakage1                        = sArray[20],
                    Venderneedcheckproduct1              = sArray[21],
                    ReturnFlagNonStopItem                = sArray[22],
                    NoReturn                             = sArray[23],
                    AcceptBreakage                       = sArray[24],
                    OnlyGoodProduct                      = sArray[25],
                    OnlyBreakage_incl                    = sArray[26],
                    OnlyBreakage_ProductDefective        = sArray[27],
                    OnlyIntactStockProduct               = sArray[28],
                    MDSpecialReutrn                      = sArray[29],
                    SupplierSpecialDemands               = sArray[30],
                    VenderNeedCheckProduct2              = sArray[31],
                    CompleteOriginalAccessaryDocumentA   = sArray[32],
                    OriginalCoverBox                     = sArray[33],
                    OriginalProductPackage               = sArray[34],
                    Return_Flag_TemporaryStopItem        = sArray[35],
                    NoReturn1                            = sArray[36],
                    Accept_BreakageandGood_Product1      = sArray[37],
                    OnlyGoodProduct1                     = sArray[38],
                    OnlyBreakage_Near_Over_ExpireDat1    = sArray[39],
                    OnlyBreakage_ProductDefective1       = sArray[40],
                    OnlyIntactStockProduct1              = sArray[41],
                    MDSpecialReutrn1                     = sArray[42],
                    SupplierSpecialDemands_RefertoLogis1 = sArray[43],
                    VenderNeedCheckProduct3              = sArray[44],
                    CompleteOriginalAccessaryDocument    = sArray[45],
                    OriginalCoverBox1                    = sArray[46],
                    OriginalProductPackage1              = sArray[47],
                    ReturnFlag_PermanentStopItem         = sArray[48],
                    NoReturn2                            = sArray[49],
                    AcceptBreakageandGoodProduct2        = sArray[50],
                    OnlyGoodProduct2                     = sArray[51],
                    OnlyBreakage_Near_Over_ExpireDat2    = sArray[52],
                    OnlyBreakage_ProductDefective2       = sArray[53],
                    OnlyIntactStockProduct2              = sArray[54],
                    MDSpecialReutrn2                     = sArray[55],
                    SupplierSpecialDemandsRefertoLogis2  = sArray[56],
                    VenderNeedCheckProduct4              = sArray[57],
                    CompleteOriginalAccessaryDocumentA2  = sArray[58],
                    OriginalCoverBox2                    = sArray[59],
                    OriginalProductPackage2              = sArray[60]
                };

                return(iTMSUP);
            }
            catch (Exception ex)
            {
                Common.WriteLog("切割失敗 " + input + " ");
                Common.WriteLog(ex.ToString());
                return(iTMSUP);

                throw;
            }
        }