Как добавить данные в csv-файл на языке C#
я получил этот код для вставки текста в csv-файл:
try { for (int i = 0; i < this.TestCases; i++) { textClientNumber[i] = readClientNumber.ReadLine(); textCardNumber[i] = readCardNumber.ReadLine(); export.AddRow(); export["TransactionDate"]= DateTime.Now.ToString("yyyyMMdd"); export["Card Type"] = "MC"; export["Original Payment Reference"] = " "; export["Retreival Reference"] = " "; export["Credit/Debit Card Indicator"] = " "; export["Institution_number"] = this.Institution_number; export["Refund"] = cmbRefund.SelectedItem.ToString(); export["Card Number"] = textCardNumber[i].ToString(); export["Capture Method"] = cmbCaptureMethod.SelectedValue.ToString(); export["ECI Indicator / Rate Program"] = cmbEciIndicator.SelectedItem.ToString(); export["Client Number"] = textClientNumber[i].ToString(); export["Processor ID"] = " "; export["Currency"] = cmbCurrency.SelectedValue.ToString(); int randnum1 = rand.Next(1, 999999); string randnumstring = opClass.AmountToExport(randnum1); export["Amount"] =randnumstring ; } export.ExportToFile("C:\\temp\\MCB2" + randnum + ".csv"); this.Excelfilename = "MCB2" + randnum; MessageBox.Show("Csv File created, You can find the file in C:\\temp\\" + this.Excelfilename); } catch (Exception ex) { MessageBox.Show(ex.ToString()); }
Может ли кто-нибудь сказать мне, как я могу начать добавлять строки из последней использованной строки или, может быть, другой метод, как это сделать ?
Что я уже пробовал:
Я попробовал этот код, чтобы добавить строки в существующий файл. csv:
try { StreamReader reader = File.OpenText(this.Excelfilename + ".csv"); } catch (Exception Ex) { Console.WriteLine(Ex.ToString()); var firstLetterCharacters = this.Excelfilename.TakeWhile(Char.IsLetter); string filename = new string(firstLetterCharacters.ToArray()); } if (filename == "MCB") { try { for (int i = 0; i < this.TestCases; i++) { textClientNumber[i] = readClientNumber.ReadLine(); textCardNumber[i] = readCardNumber.ReadLine(); export.AddRow(); export["TransactionDate"] = DateTime.Now.ToString("yyyyMMdd"); export["Card Type"] = "MC"; export["Original Payment Reference"] = " "; export["Retreival Reference"] = " "; export["Credit/Debit Card Indicator"] = " "; export["Institution_number"] = this.Institution_number; export["Refund"] = cmbRefund.SelectedItem.ToString(); export["Card Number"] = textCardNumber[i].ToString(); export["Capture Method"] = cmbCaptureMethod.SelectedValue.ToString(); export["ECI Indicator / Rate Program"] = cmbEciIndicator.SelectedItem.ToString(); export["Client Number"] = textClientNumber[i].ToString(); export["Processor ID"] = " "; export["Currency"] = cmbCurrency.SelectedValue.ToString(); int randnum1 = rand.Next(1, 999999); string randnumstring = opClass.AmountToExport(randnum1); export["Amount"] = randnumstring; } if (File.Exists("C:\\temp\\" + this.Excelfilename + ".csv")) { File.Delete(this.Excelfilename); export.ExportToFile("C:\\temp\\" + this.Excelfilename + ".csv"); }
все работает идеально, старые данные будут потеряны и заменены новыми данными.