Ejemplo n.º 1
0
        private void Import()
        {
            if (!File.Exists(txtFileToImport.Text))
            {
                throw new ApplicationException("文件不存在");
            }
            CsvContext context = GetContext() as CsvContext;

            context.CSVFile       = txtFileToImport.Text;
            context.SpliterChar   = GetSpliterChar();
            context.IncludeHeader = chkFirstRowColumnNames.Checked;
            context.Data          = GetData(context);
        }
Ejemplo n.º 2
0
 private void Export()
 {
     using (StreamWriter sw = new StreamWriter(txtFileToImport.Text, false, System.Text.Encoding.UTF8))
         using (var writer = new CsvWriter(sw))
         {
             CsvContext context = GetContext() as CsvContext;
             DataTable  table   = context.Data;
             foreach (DataColumn c in table.Columns)
             {
                 writer.WriteField(c.ColumnName);
             }
             writer.NextRecord();
             foreach (DataRow dr in table.Rows)
             {
                 foreach (DataColumn c in table.Columns)
                 {
                     writer.WriteField(dr[c.ColumnName]);
                 }
                 writer.NextRecord();
             }
         }
 }
Ejemplo n.º 3
0
        public override void Prepare()
        {
            WizardContext context = null;

            if (csvRadioBtn.Checked)
            {
                context = new CsvContext();
            }
            else if (sqlserverRadioBtn.Checked)
            {
                context = new MsSqlContext();
            }
            else if (excelRadioBtn.Checked)
            {
                context = new ExcelContext();
            }
            context.InitailizeWizardPages();
            context.Pages.Insert(0, this);
            GetWizard().Context = context;
            DTSWizardBook wizardBook = GetWizard() as DTSWizardBook;

            context.Data = wizardBook.Session.DataSource;
        }
Ejemplo n.º 4
0
        private DataTable GetData(CsvContext context)
        {
            DataTable dt = new DataTable();

            try
            {
                System.Text.Encoding encode = System.Text.Encoding.GetEncoding("UTF-8");
                using (var csv = new CsvHelper.CsvReader(new StreamReader(context.CSVFile, encode)))
                {
                    CsvHelper.Configuration.CsvConfiguration config = csv.Configuration;
                    config.Encoding  = encode;
                    config.Delimiter = context.SpliterChar.ToString();
                    //csvhelper bug fix
                    config.HasHeaderRecord = !context.IncludeHeader;
                    int rowIndex    = 0;
                    int columnIndex = 0;
                    while (csv.Read())
                    {
                        dt.ExpandRow(rowIndex);
                        for (int i = 0; i < csv.CurrentRecord.Length; i++)
                        {
                            dt.ExpandColumn(columnIndex);
                            dt.Rows[rowIndex][columnIndex] = csv.GetField(i);
                            columnIndex++;
                        }
                        columnIndex = 0;
                        rowIndex++;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(dt);
        }