Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
                }
            }
        }