コード例 #1
0
        private void m_btnPaste_Click(object sender, EventArgs e)
        {
            if (!Clipboard.ContainsText())
            {
                MessageBox.Show("Nothing to paste");
            }
            m_bIsConverted  = false;
            m_btnOk.Enabled = false;
            string    strPaste = Clipboard.GetText();
            DataTable table    = null;

            try
            {
                table = CUtilTexte.GetDataTableFromExcelPaste(strPaste, m_chkUseFirstRowANames.Checked);
            }
            catch (Exception ex)
            {
                CResultAErreur result = CResultAErreur.True;
                result.EmpileErreur(new CErreurException(ex));
                CFormAlerte.Afficher(result.Erreur);
            }

            /*
             *
             * string[] strLignes = strPaste.Split('\n');
             * DataTable table = new DataTable();
             * table.BeginLoadData();
             * int nLigne = 0;
             * foreach (string strLaLigne in strLignes)
             * {
             *  string strLigne = strLaLigne;
             *  if ( strLigne.Length > 0 && strLigne[strLigne.Length-1] == '\r')
             *      strLigne = strLigne.Substring(0, strLigne.Length-1);
             *  if (strLigne.Length > 0 && strLigne[0] == '\r')
             *      strLigne = strLigne.Substring(1, strLigne.Length - 1);
             *  string[] strCols = strLigne.Split('\t');
             *  if (nLigne == 0 && m_chkUseFirstRowANames.Checked)
             *  {
             *      foreach (string strCol in strCols)
             *      {
             *          try
             *          {
             *              table.Columns.Add(strCol, typeof(string));
             *          }
             *          catch
             *          {
             *              try
             *              {
             *                  table.Columns.Add("Column " + table.Columns.Count + 1, typeof(string));
             *              }
             *              catch
             *              {
             *                  table.Columns.Add(Guid.NewGuid().ToString(), typeof(string));
             *              }
             *          }
             *      }
             *      nLigne++;
             *      continue;
             *  }
             *  nLigne++;
             *  while (table.Columns.Count < strCols.Length)
             *  {
             *      table.Columns.Add("Col " + table.Columns.Count + 1, typeof(string));
             *  }
             *  DataRow row = table.NewRow();
             *  int nCol = 0;
             *  foreach (string strVal in strCols)
             *  {
             *      row[nCol++] = strVal;
             *  }
             *  table.Rows.Add(row);
             * }
             * table.EndLoadData();*/
            if (table != null)
            {
                m_grid.DataSource = table;
                UpdatePanelMappage();
            }
        }