Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行
模版格式,图格式是最简单的格式,但实际效果不是这种,实际效果图如图2
图2 ,注意看红色部分,一对一是正常的,但是有一对多的订单,就得把前面的合并居中,后面对应多行显示
一般步骤:
var templatePath = Server.MapPath(@"/Template/区域订单列表导出模板.xlsx")
1、初始化模版
Workbook workbook = new Workbook()
workbook.Open(templatePath)
2、获取模版的单元
Cells cells= workbook.Worksheets[0].Cells
3、对不同的行的单元格赋值
cells[0, 0].PutValue("我是第一行第一列,也即是第一行第一个单元格")
说一下合并单元格,这个没捷径可走,只能提供什么意思,具体业务具体去合并
//合并单元格cells.Merge(1, 0, 3, 1) 参数1代表当前行,参数0代表当前行当前列即第一行第一列,参数3合并的行数,参数4合并的列数
cells.Merge(1, 0, 3, 1)
设置单元格的样式
cells[startmergepos, 1].SetStyle(new Style() { HorizontalAlignment = TextAlignmentType.Center })
设置单元格的高度
//cells.SetRowHeight(row + i, 200)
/// <summary>/// 设置表页的列宽度自适应
/// </summary>
/// <param name="sheet">worksheet对象</param>
void setColumnWithAuto(Worksheet sheet)
{
Cells cells = sheet.Cells
int columnCount = cells.MaxColumn //获取表页的最大列数
int rowCount = cells.MaxRow //获取表页的最大行数
for (int col = 0col <columnCountcol++)
{
sheet.AutoFitColumn(col, 0, rowCount)
}
for (int col = 0col <columnCountcol++)
{
cells.SetColumnWidthPixel(col, cells.GetColumnWidthPixel(col) + 30)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)