/// <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); }
/// <summary> /// Book内のIndexシートの飾り付けるメソッド /// </summary> /// <param name="book">ExcelBookのIクラス</param> /// <param name="styles">使用するスタイルのDictionary</param> /// <param name="sheet">ExcelSheetのIクラス</param> /// <returns>Bool True or False</returns> public bool FormatSheetIdx(Dictionary <String, ICellStyle> styles, ISheet sheet) { //メモリ線を非表示 sheet.DisplayGridlines = false; //TopLeft シートタイトル埋め込み WriteCell(sheet, styles["topleft"], (0, 0), ConstHulft.SHEETNAME_IDX); //Sheetのインデックス埋め込み var titles = new List <(int no, string name)> { (1, ConstHulft.SHEETNAME_SND) , (2, ConstHulft.SHEETNAME_RCV) , (3, ConstHulft.SHEETNAME_GRP) , (4, ConstHulft.SHEETNAME_HST) , (5, ConstHulft.SHEETNAME_JOB) }; //Sheetの中身を整える (int y, int x) = (1, 1); foreach (var(no, name) in titles) { //番号埋め WriteCell(sheet, styles["indexBox"], (y + no, x), no); //シート名を埋めてリンクを付ける var link = new XSSFHyperlink(HyperlinkType.Document) { Address = name + "!A1" }; WriteCell(sheet, styles["indexLabel"], link, (y + no, x + 1), name); } //カラムの横幅Autoが好き sheet.AutoSizeColumn(0, true); return(true); }
/// <summary> /// Book内のJobシートを飾り付けるメソッド HULFTジョブ定義用シート /// </summary> /// <param name="styles">CellStyleをセットしたDictionaryオブジェクト</param> /// <param name="sheet">Jobシートオブジェクト</param> /// <returns>true or false</returns> public bool FormatSheetJob(Dictionary <String, ICellStyle> styles, ISheet sheet) { sheet.DisplayGridlines = false; WriteCell(sheet, styles["topleft"], (0, 0), ConstHulft.SHEETNAME_JOB); return(true); }