NPOI給單元格加範圍邊框
阿新 • • 發佈:2019-01-05
HSSFWorkbook workbook2 = new HSSFWorkbook();
//XSSFWorkbook workbook2 = new XSSFWorkbook();//建立Excel2007物件
HSSFSheet sheet1;
/// <summary>
/// 99乘法表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
sheet1 = (HSSFSheet )workbook2.CreateSheet("Sheet1");
for (int rowIndex = 0; rowIndex < 9; rowIndex++)
{
HSSFRow row = (HSSFRow)sheet1.CreateRow(rowIndex);
for (int colIndex = 0; colIndex <= rowIndex; colIndex++)
{
HSSFCell cell = (HSSFCell)row.CreateCell(colIndex);
cell.SetCellValue(String.Format("{0}*{1}={2}", rowIndex + 1, colIndex + 1, (rowIndex + 1) * (colIndex + 1)));
}
}
//加範圍邊框
AddRengionBorder(0, 9, 0, 9);
FileStream fs = new FileStream(@"C:\Users\Administrator\Desktop\aa.xls", FileMode.Create, FileAccess.Write);
workbook2.Write(fs);
fs.Dispose();
MessageBox.Show("匯出OK");
}
/// <summary>
/// 加範圍邊框
/// </summary>
/// <param name="firstRow">起始行</param>
/// <param name="lastRow">結束行</param>
/// <param name="firstCell">起始列</param>
/// <param name="lastCell">結束列</param>
/// <returns></returns>
public void AddRengionBorder(int firstRow, int lastRow, int firstCell, int lastCell)
{
//HSSFCellStyle Style = (HSSFCellStyle)workbook2.CreateCellStyle();
for (int i = firstRow; i < lastRow; i++)
{
for (int n = firstCell; n < lastCell; n++)
{
ICell cell;
cell = sheet1.GetRow(i).GetCell(n);
if (cell == null)
{
cell = sheet1.GetRow(i).CreateCell(n);
cell.SetCellValue(" ");
}
HSSFCellStyle Style = workbook2.CreateCellStyle() as HSSFCellStyle;
////為首行加上方邊框
if (i == firstRow)
{
Style.BorderTop = ss.UserModel.BorderStyle.THIN;
}
//為末行加下方邊框
if (i == lastRow-1)
{
Style.BorderBottom = ss.UserModel.BorderStyle.THIN;
}
//為首列加左邊框
if (n == firstCell)
{
Style.BorderLeft = ss.UserModel.BorderStyle.THIN;
}
//為末列加右邊框
if (n == lastCell-1)
{
Style.BorderRight = ss.UserModel.BorderStyle.THIN;
}
cell.CellStyle = Style;
}
}
}
}
原始碼下載地址:https://download.csdn.net/download/heyijiushi/10378413