Пример #1
0
        /// <summary>
        /// сохранить как отдельный файл
        /// </summary>
        /// <param name="rang"></param>
        internal string SaveAsFile(DataRange rang, string fileName = null)
        {
            try
            {
                f.Cursor = Cursors.WaitCursor;
                if (fileName == null)
                {
                    SaveFileDialog sf = new SaveFileDialog();
                    sf.InitialDirectory = Vars.Options.LastDirectory;
                    sf.AddExtension     = true;
                    sf.FileName         = rang.Name;
                    //sf.Filter = "Файл Excel (*.xlsx)|*.xlsx";
                    sf.Filter += "Файл csv (*.csv)|*.csv";

                    if (sf.ShowDialog(f) == DialogResult.OK)
                    {
                        Vars.Options.LastDirectory = Path.GetDirectoryName(sf.FileName);
                        DataRangeSerializer.SerializeFile(rang, sf.FileName);
                        rang.FilePath = sf.FileName;
                        return(sf.FileName);
                    }
                    sf.Dispose();
                    return(null);
                }
                else
                {
                    DataRangeSerializer.SerializeFile(rang, fileName);
                    rang.FilePath = fileName;
                    return(fileName);
                }
            }
            catch (Exception e)
            {
                string msg = e.InnerException != null ? e.InnerException.Message : e.Message;
                _ = MessageBox.Show(this.f, $"Не удалось сохранить файл, причина:\r\n{msg}", "Сохранение файла", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }
            finally
            {
                f.Cursor = Cursors.Default;
            }
        }
Пример #2
0
        /// <summary>
        /// Открыть файл
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        internal DataRange OpenFile(Form form = null)
        {
            if (form == null)
            {
                form = f;
            }
            OpenFileDialog of = new OpenFileDialog();

            of.InitialDirectory = Vars.Options.LastDirectory;
            of.Multiselect      = true;
            of.Filter           = "Все файлы|*.*";
            of.Filter          += "|Файл Excel (*.xlsx)|*.xlsx";
            of.Filter          += "|Файл csv (*.csv)|*.csv";
            if (of.ShowDialog(form) == DialogResult.OK)
            {
                foreach (string file in of.FileNames)
                {
                    try
                    {
                        f.Cursor = Cursors.WaitCursor;
                        DataRange rang = DataRangeSerializer.DeserializeFile(file, null);
                        rang.FilePath = file;
                        rang.Name     = Path.GetFileNameWithoutExtension(file);
                        Vars.Options.LastDirectory = Path.GetDirectoryName(file);
                        return(rang);
                    }
                    catch (Exception ex)
                    {
                        _ = MessageBox.Show(form, ex.Message, "Открытие файла " + file, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    finally
                    {
                        f.Cursor = Cursors.Default;
                    }
                }
            }
            of.Dispose();
            return(null);
        }