//path 完整路徑 finame檔名 public static bool StartInsert(string path, string finame) { bool result = true; int i = 0; string line; List <ECSalesSupply> ecSales = new List <ECSalesSupply>(); List <ECSalesSupply> ErroecSales = new List <ECSalesSupply>(); ECSalesSupply ecSale = new ECSalesSupply(); try { Common.WriteLog("開始切割 " + finame); FileStream fileStream = File.OpenRead(path); //using (StreamReader reader = new StreamReader(fileStream, Encoding.Default)) using (StreamReader reader = new StreamReader(fileStream, Encoding.GetEncoding(0))) { line = reader.ReadLine(); while (line != null) { i++; if (i == 1) { line = reader.ReadLine(); } line = new Regex("[\\s]+").Replace(line, " "); if (line == " " || line == "") { line = reader.ReadLine(); continue; } ecSale = splitstrng(line, i); ecSales.Add(ecSale); if (i % 100000 == 0) { result = InsertToSql(ecSales); ecSales = new List <ECSalesSupply>(); if (!result) { return(false); } } line = reader.ReadLine(); } reader.Close(); } Common.WriteLog("新增DB"); result = InsertToSql(ecSales); Common.WriteLog(finame + "切割完成,一共 " + i + " 筆"); return(result); } catch (Exception e) { Common.WriteLog("EC_DetailServices失敗"); Common.WriteLog(e.ToString()); result = false; return(result); } }
//切割字串 public static ECSalesSupply splitstrng(string input, int i) { ECSalesSupply ecSales = new ECSalesSupply(); try { //切割符號 //string mark = ConfigurationManager.AppSettings["Mark"]; input = new Regex("[\\s]+").Replace(input, " "); //string[] sArray = Regex.Split(input, @"|"); string[] sArray = null; sArray = input.Split('|'); ecSales = new ECSalesSupply { OrderId = sArray[0], OrderNo = sArray[1], DeliveryDate = sArray[2], DeliveryTime = sArray[3], StoreCode = sArray[4], OutStore = sArray[5], InputStore = sArray[6], OrderType = sArray[7], Media = sArray[8], DeliveryBy = sArray[9], OrderStatus = sArray[10], LogisticStatus = sArray[11], MemberEmail = sArray[12], Consignee = sArray[13], ConsigneeTel = sArray[14], ConsigneePhone = sArray[15], ZipCode = sArray[16], OrderCounty = sArray[17], OrderArea = sArray[18], DeliveryAddress = sArray[19], OrderRemarks = sArray[20], OrderDate = sArray[21], PaymentBy = sArray[22], PaymentStatus = sArray[23], OrderAmt = sArray[24], ItemFullCode = sArray[25], ItemMainCode = sArray[26], ItemCName = sArray[27], SalesQty = sArray[28], SalesPrice = sArray[29], ISGiveAway = sArray[30], AddOn = sArray[31], LangCulture = sArray[32], OrderAttributes = sArray[33], StoreOrdertype = sArray[34], OrderPrice = sArray[35], Temperature = sArray[36], IsMember = sArray[37], MemberAccount = sArray[38], CardNo = sArray[39], DiscountCode = sArray[40], DiscountType = sArray[41], InvoiceDate = sArray[42], PromotionActivityID = sArray[43], ActivityID = sArray[44], CompnayOrderNo = sArray[45] }; return(ecSales); } catch (Exception ex) { Common.WriteLog("切割失敗 " + input + " "); Common.WriteLog(ex.ToString()); return(ecSales); throw; } }