コード例 #1
0
        public static bool FillOptions(CParametreLectureExcel parametre, string strFichierExemple)
        {
            CFormOptionsImportExcel1 form = new CFormOptionsImportExcel1();

            form.m_parametre         = parametre;
            form.m_strFichierExemple = strFichierExemple;


            DialogResult result = DialogResult.Retry;

            while (result == DialogResult.Retry)
            {
                result = form.ShowDialog();
                if (result == DialogResult.OK)
                {
                    result = CFormOptionsImportExcel2.FillOptions(parametre, strFichierExemple);
                }
            }
            form.Dispose();
            return(result == DialogResult.OK);
        }
コード例 #2
0
        public static DialogResult FillOptions(CParametreLectureExcel parametre, string strFichierExemple)
        {
            CFormOptionsImportExcel2 form = new CFormOptionsImportExcel2();

            form.m_parametre = parametre;
            string strTexteExemple = "";

            if (strFichierExemple != "")
            {
                CLecteurFichierExcel reader = null;
                try
                {
                    reader = new CLecteurFichierExcel(strFichierExemple, parametre.SheetName, parametre.PlageDonnees);

                    form.m_tableExemple = reader.GetTable(parametre.NomChampsSurPremiereLigne);
                    form.m_nomsCol      = new Dictionary <int, string>();

                    //CREATION DU LISTVIEW
                    form.m_wndListeExemple.Columns.Clear();
                    foreach (DataColumn col in form.m_tableExemple.Columns)
                    {
                        ColumnHeader header = new ColumnHeader();
                        header.Text = col.ColumnName;
                        form.m_wndListeExemple.Columns.Add(header);
                    }
                    int nMaxRowsApercu = Math.Min(100, form.m_tableExemple.Rows.Count); // Limite l'affichage du liste view à 100 lignes
                    for (int i = 0; i < nMaxRowsApercu; i++)
                    {
                        DataRow      row  = form.m_tableExemple.Rows[i];
                        ListViewItem item = new ListViewItem(row[0].ToString());
                        for (int n = 1; n < form.m_tableExemple.Columns.Count; n++)
                        {
                            item.SubItems.Add(row[n].ToString());
                        }
                        form.m_wndListeExemple.Items.Add(item);
                    }


                    //CREATION DES COLONNES EXCEL DANS FICHIER PARAMETRAGE
                    for (int nCol = 0; nCol < form.m_tableExemple.Columns.Count; nCol++)
                    {
                        CParametreLectureExcel.CColonneExcel col = form.m_parametre.GetColonne(nCol);
                        if (col == null || col.Nom != form.m_tableExemple.Columns[nCol].ColumnName)
                        {
                            col          = new CParametreLectureExcel.CColonneExcel();
                            col.Nom      = form.m_tableExemple.Columns[nCol].ColumnName;
                            col.DataType = typeof(string);
                            form.m_parametre.SetColonne(nCol, col);
                        }
                    }


                    reader.Close();

                    form.m_strTexteExemple = strTexteExemple;
                    DialogResult result = form.ShowDialog();
                    form.Dispose();
                    return(result);
                }
                catch
                {
                }
                finally
                {
                    try
                    {
                        reader.Close();
                    }

                    catch
                    {
                    }
                }
            }
            return(DialogResult.Abort);
        }