/// <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> /// Excelブックの中身を構成していくメソッド /// </summary> /// <param name="bookName">Excelファイル名</param> /// <returns></returns> public bool NewExcelBook(string bookName) { try { //Hulft定義Bookのテンプレートを新規に作成 IWorkbook book = new XSSFWorkbook(); Dictionary <String, ICellStyle> styles = MyCreateStyles.CreateStyles(book); //定型シートを作成 book.CreateSheet(ConstHulft.SHEETNAME_IDX); book.CreateSheet(ConstHulft.SHEETNAME_SND); book.CreateSheet(ConstHulft.SHEETNAME_RCV); book.CreateSheet(ConstHulft.SHEETNAME_GRP); book.CreateSheet(ConstHulft.SHEETNAME_HST); book.CreateSheet(ConstHulft.SHEETNAME_JOB); var sheetIdx = book.GetSheet(ConstHulft.SHEETNAME_IDX); var sheetSnd = book.GetSheet(ConstHulft.SHEETNAME_SND); var sheetRcv = book.GetSheet(ConstHulft.SHEETNAME_RCV); var sheetGrp = book.GetSheet(ConstHulft.SHEETNAME_GRP); var sheetHst = book.GetSheet(ConstHulft.SHEETNAME_HST); var sheetJob = book.GetSheet(ConstHulft.SHEETNAME_JOB); //定型シートの中身を整える FormatSheetIdx(styles, sheetIdx); FormatSheetSnd(styles, sheetSnd); FormatSheetRcv(styles, sheetRcv); FormatSheetGrp(styles, sheetGrp); FormatSheetHst(styles, sheetHst); FormatSheetJob(styles, sheetJob); //テンプレートBookを書き出す using (var fs = new FileStream(bookName, FileMode.Create)) { book.Write(fs); } } catch (Exception ex) { Console.WriteLine(ex); } return(true); }