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);
        }
Example #2
0
        public static IParametreLectureFichier CreateParametreLectureFichier(ref string strFichier)
        {
            int nEtape = 0;
            IParametreLectureFichier parametre   = null;
            ETypeFichier             typeFichier = ETypeFichier.CSV;

            while (true)
            {
                switch (nEtape)
                {
                case 0:    //Sélection du fichier
                    OpenFileDialog dlg = new OpenFileDialog();
                    dlg.Filter = I.T("Text file(txt, csv)|*.txt;*.csv|Excel File|*.xls;*.xlsx|All files|*.*|20003");
                    if (dlg.ShowDialog() == DialogResult.Cancel)
                    {
                        return(null);
                    }
                    strFichier = dlg.FileName;
                    string strExtension = strFichier.Substring(strFichier.Length - 3, 3);
                    if (strExtension.ToUpper() == "XLS")
                    {
                        typeFichier = ETypeFichier.Excel;
                        parametre   = new CParametreLectureExcel();
                    }
                    else
                    {
                        typeFichier = ETypeFichier.CSV;
                        parametre   = new CParametreLectureCSV();
                    }
                    nEtape++;
                    break;

                case 1:    //Paramétrage de la lecture CSV
                    if (typeFichier == ETypeFichier.Excel)
                    {
                        if (!CFormOptionsImportExcel1.FillOptions((CParametreLectureExcel)parametre, strFichier))
                        {
                            nEtape--;
                        }
                        else
                        {
                            nEtape++;
                        }
                    }
                    else
                    {
                        if (!CFormOptionsCSV1.FillOptions((CParametreLectureCSV)parametre, strFichier))
                        {
                            nEtape--;
                        }
                        else
                        {
                            nEtape++;
                        }
                    }
                    break;

                case 2:
                    return(parametre);
                }
            }
            return(null);
        }
Example #3
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);
        }