private void fNext_Click(object sender, EventArgs e) { char recordSeparator, fieldSeparator, textDelimiter; if (fCommaSeparatedValues.Checked) { recordSeparator = '\n'; fieldSeparator = ','; textDelimiter = '"'; } else if (fSemicolonSeparatedValues.Checked) { recordSeparator = '\n'; fieldSeparator = ';'; textDelimiter = '"'; } else if (fTabSeparatedValues.Checked) { recordSeparator = '\n'; fieldSeparator = '\t'; textDelimiter = '\0'; } else { recordSeparator = GetCharacter(fCustomRecordSeparator); fieldSeparator = GetCharacter(fCustomFieldSeparator); textDelimiter = GetCharacter(fCustomTextDelimiter); } Encoding encoding; switch (fEncodingSelect.SelectedIndex) { case 1: encoding = Encoding.GetEncoding("windows-1250"); break; case 2: encoding = Encoding.GetEncoding("windows-1252"); break; default: encoding = Encoding.UTF8; break; } string inputData = encoding.GetString(fileContent); if (recordSeparator == '\n') { inputData = inputData.Replace("\r\n", "\n"); } try { CsvParser csvParser = new CsvParser(inputData, recordSeparator, fieldSeparator, textDelimiter, fHasHeader.Checked); Data = csvParser.GetData(); } catch (GeneralException) { Data = null; } this.Close(); }
private void ImportCsvWindow_FormClosing(object sender, FormClosingEventArgs e) { ImportCsvWindow importWindow = (ImportCsvWindow)sender; result = importWindow.Data; Data = (DataTable)result; if (result != null) { if (result.IsPartial()) { throw new GeneralException(); } if (!result.IsValid()) { RectangularCorrectionWindow rectangularCorrectionWindow = new RectangularCorrectionWindow(result.columnNames, result.GetMostFrequentRecordLength()-1); rectangularCorrectionWindow.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.RectangularCorrectionWindow_FormClosing); rectangularCorrectionWindow.Show(); } else { ColumnsSelectWindow columnsSelectWindow = new ColumnsSelectWindow(Data.Columns.Cast<DataColumn>().Select(y => y.ColumnName).ToArray()); columnsSelectWindow.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ColumnsSelectWindow_FormClosing); columnsSelectWindow.Show(); } } }