C# 用NPOI, 是否可以先赋值,再填充样式

qq_29026265 2018-03-02 09:53:08
如题:
C# 用NPOI, 是否可以先赋值,再填充样式
我的意思是:
先循环所有数据SetCellValue 到单元格,
之后再对某个单元格,或者整行,整列的给样式。

是否能做到?
是否给出详细代码?
...全文
534 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-03-02
  • 打赏
  • 举报
回复
当然可以,不过一半的数据都是按行组织的,所以就先行后列了 如果你按列组织数据,自然就得先列后行了
qq_29026265 2018-03-02
  • 打赏
  • 举报
回复
还有个问题: 好像网上的都是先获取行,再赋值列,也就是(0,0)(0,1)(0,2)这样去赋值 那,不能针对同列不同行去赋值吗?比如(1,0) (2,0) 如可以,请举例详细代码,谢谢
YuHoooo 2018-03-02
  • 打赏
  • 举报
回复
可以。 XSSFWorkbook xwb = new XSSFWorkbook(); //新建xlsx工作簿 XSSFCellStyle style = (XSSFCellStyle)xwb.CreateCellStyle(); style.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;//边框 style.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; style.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; style.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//水平居中 style.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;//垂直居中 style.WrapText = true;//自动换行 xwb.CreateSheet("表1"); XSSFSheet xs = (XSSFSheet)xwb.GetSheet("表1"); xs.CreateRow(0); #region 1.边赋值边加样式 for (int i = 0; i < 5; i++) { ICell cell = xs.GetRow(0).CreateCell(i); cell.SetCellValue(i); cell.CellStyle = style; } #endregion #region 2.全部赋值完加样式 for (int i = 0; i < 5; i++) { ICell cell = xs.GetRow(0).CreateCell(i); cell.SetCellValue(i); } for (int i = 0; i < 5; i++) { ICell cell = xs.GetRow(0).GetCell(i); cell.CellStyle = style; } #endregion FileStream fs1 = new FileStream(stringPath, FileMode.Create); xwb.Write(fs1); fs1.Close(); xwb.Close();

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧