Excel 作業のテンプレートとして機能する Excel ファイルがあり、プログラムでこのテンプレートにデータを入力したいと考えています。
行と付随するセルを作成し、新しく作成したセルに境界線を設定すると、シート全体にこの境界線が割り当てられます。当然、単一のセルにその境界線を持たせたいだけです。コードは次のとおりです。
string path = Application.StartupPath + "\\" + "Excels\\myTemplate.xls";
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
HSSFWorkbook templateWorkbook = new HSSFWorkbook(fs, true);
HSSFSheet sheet = templateWorkbook.GetSheet("sheet2");
int rowIndex = 3;
var row = sheet.CreateRow(rowIndex);
int i = 0;
string zoneNo;
string SubsidiaryCode = string.Empty;
foreach (DataRow r in dtBill.Rows)
{
SubsidiaryCode = (r["SubsidiaryCode"].ToString().Trim());
zoneNo = (r["ZoneNO"].ToString().Trim());
HSSFCell cell = (HSSFCell)row.CreateCell(i);
cell.SetCellValue("Zone " + zoneNo + "-code :" + SubsidiaryCode);
cell.CellStyle.BorderBottom = HSSFCellStyle.BORDER_MEDIUM;
i++;
row.CreateCell(i).SetCellValue(r["Date"].ToString().Trim());
row.CreateCell(i).CellStyle.BorderBottom = HSSFCellStyle.BORDER_MEDIUM;
i++;
rowIndex++;
row = sheet.CreateRow(rowIndex);
i = 0;
}
sheet.ForceFormulaRecalculation = true;