示例#1
0
        /// <summary>
        /// ファイル読み込み、実処理
        /// </summary>
        private CSVAllData Read()
        {
            var csvData = new CSVAllData();

            if (IsAccessFile())
            {
                using (FileStream fs = new FileStream(this.F_FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
                    //using (StreamReader sr = new StreamReader(fs, new UTF8Encoding(false)))//BOMなし
                    using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("Shift_JIS")))
                    {
                        int maxVal = 0;
                        while (sr.Peek() >= 0)
                        {
                            string lineStr = sr.ReadLine();
                            if (string.IsNullOrEmpty(lineStr))
                            {
                                continue;                           //改行などはとばす
                            }
                            CSVColumnData itemsList = new CSVColumnData();
                            itemsList.MakeListBy(lineStr);
                            csvData.Add(itemsList); //一行分を追加

                            //一番多いカラム数を設定
                            if (maxVal < itemsList.Count)
                            {
                                maxVal = itemsList.Count;
                            }
                        }
                        csvData.MaxColumnsInAllRows = maxVal;
                    }
            }
            return(csvData);
        }
示例#2
0
        ////例外の確認

        /// <summary>
        /// グリッドのすべてのデータを作成
        /// </summary>
        private CSVAllData GetAllData(DataTable table)
        {
            var csvData = new CSVAllData();

            if (table != null)
            {
                foreach (DataRow row in table.Rows)
                {
                    csvData.Add(this.GetCSVColumnData(row, table));
                }
            }
            return(csvData);
        }
示例#3
0
        /// <summary>
        /// グリッドデータをロード
        /// </summary>
        private void LoadData(CSVAllData csvData)
        {
            var table = new DataTable();

            //カラム設定
            this.SetColumnIndex(csvData.MaxColumnsInAllRows, table);

            //レコード追加
            foreach (CSVColumnData lineData in csvData)
            {
                string[] rowData = lineData.ToArray();
                table.Rows.Add(rowData);
            }

            this.dataGridView1.DataSource = table;
            F_Control.SetViewMemento(this.dataGridView1);
        }
示例#4
0
        /// <summary>
        /// ファイル書き込み、実処理
        /// </summary>
        /// <returns>true:成功</returns>
        private bool Write(CSVAllData csvData)
        {
            bool result = false;

            if (IsAccessFile())
            {
                //Create:上書きさせるようにする
                using (FileStream fs = new FileStream(this.F_FileName, FileMode.Create, FileAccess.ReadWrite, FileShare.None))
                    //using (StreamWriter sw = new StreamWriter(fs, new UTF8Encoding(false)))//BOMなし
                    using (StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding("Shift_JIS")))
                    {
                        foreach (CSVColumnData lineData in csvData)
                        {
                            string oneLine = lineData.MakeLineByThisDatas();
                            sw.WriteLine(oneLine);
                        }
                        sw.Flush();
                    }
                result = true;
            }
            return(result);
        }
示例#5
0
 /// <summary>
 /// ファイルへ書き込み
 /// </summary>
 /// <returns>true:成功</returns>
 public bool OutputFile(CSVAllData csvData)
 {
     return(this.Write(csvData));
 }