Exemplo n.º 1
0
        /// <summary>
        /// TGrpシートのデータ埋めと書式あてこみメソッド
        /// </summary>
        /// <param name="book">ExcelBookオブジェクト</param>
        /// <param name="lists">HULFT転送グループ定義データオブジェクト</param>
        /// <returns></returns>
        public bool UpdateTGrpBook(IWorkbook book, List <HulftTGrpDef> lists)
        {
            var sheet = book.GetSheet(ConstHulft.SHEETNAME_GRP);

            // セルに充てるスタイルの組み立て
            Dictionary <String, ICellStyle> styles = MyCreateStyles.CreateStyles(book);

            // 左上にシート名を
            WriteCell(sheet, styles["indexLabel"], (0, 0), ConstHulft.SHEETNAME_GRP);

            // データヘッダーの組み立て
            var header     = new HulftTGrpDef("Header");
            var headerList = header.GetListValues();

            // データヘッダーブロックの書き出し
            (int y, int x)p = (2, 1);
            headerList.Insert(0, "No.");
            for (int x = 0; x < headerList.Count; x++)
            {
                WriteCell(sheet, styles["indexLabel"], (p.y, p.x + x), headerList[x]);
            }
            sheet.SetAutoFilter(new CellRangeAddress(p.y, p.y, p.x, p.x + headerList.Count - 1));

            // データブロックの書き出し
            p = (3, 1);
            for (int y = 0; y < lists.Count; y++)
            {
                //var dataList = lists[y].getListValues();
                var dataList = lists[y].GetListValues();
                dataList.Insert(0, (y + 1).ToString());
                for (int x = 0; x < dataList.Count; x++)
                {
                    if (x == 1)
                    {
                        WriteCell(sheet, styles["defDataBa"], (p.y + y, p.x + x), dataList[x]);
                    }
                    else
                    {
                        WriteCell(sheet, styles["defData"], (p.y + y, p.x + x), dataList[x]);
                    }
                }
            }

            // カラムのAutoSize
            for (int x = 0; x < headerList.Count; x++)
            {
                sheet.AutoSizeColumn(p.x + x, true);
            }

            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// HULFT転送グループ定義の文字列を解釈して、HulftTGrpクラスのListを生成して返す。
        /// </summary>
        /// <param name="HtmlText">HULFT転送グループ定義文字列</param>
        /// <returns>HulftTGrpクラスのList</returns>
        public static List <HulftTGrpDef> StringBuildHulftTGrpDef(string HtmlText)
        {
            List <HulftTGrpDef> hulftTGrpDefs = new List <HulftTGrpDef>();
            HulftTGrpDef        hulftdef      = new HulftTGrpDef();

            //string htmlstr = File.ReadAllText(filename);
            using (StringReader sr = new StringReader(HtmlText))
            {
                string fileContent = "";
                bool   serverDef   = false;

                while ((fileContent = sr.ReadLine()) != null)
                {
                    //Debug.WriteLine(fileContent);
                    fileContent = fileContent.Trim();
                    if (fileContent == "")
                    {
                        continue;
                    }
                    if (fileContent == "#")
                    {
                        continue;
                    }


                    string[] array = fileContent.Split('=');
                    switch (array[0])
                    {
                    case "# ID":
                        hulftdef.ClearRest();
                        hulftdef.Id = array[1];
                        break;

                    case "GRP":
                        hulftdef.Grp = array[1];
                        break;

                    case "COMMENT":
                        hulftdef.Comment = array[1];
                        break;

                    case "SERVER DEF":
                        serverDef = true;
                        break;

                    case "DEFEND":
                        serverDef = false;
                        break;

                    case "END":
                        hulftTGrpDefs.Add(hulftdef.Clone());
                        break;
                    }

                    if (serverDef && array[0] != "SERVER DEF")
                    {
                        hulftdef.ServerList.Add(fileContent);
                        continue;
                    }
                }
            }

            return(hulftTGrpDefs);
        }