我正在使用EPPlus库来读/写Excel文件:http://epplus.codeplex.com/
我正在尝试在编写文档时简单地合并一些单元格:
using (ExcelPackage pck = new ExcelPackage())
{
//Create the worksheet
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo");
//Format the header for column 1-3
using (ExcelRange rng = ws.Cells["A1:C1"])
{
bool merge = rng.Merge;
}
}
有一个名为Merge的属性只返回true或false。我想也许那会合并细胞,但事实并非如此。
任何人都知道怎么做?
答案 0 :(得分:129)
你必须像这样使用它:
ws.Cells["A1:C1"].Merge = true;
而不是:
using (ExcelRange rng = ws.Cells["A1:C1"])
{
bool merge = rng.Merge;
}
答案 1 :(得分:61)
如果要动态合并单元格,还可以使用:
worksheet.Cells[FromRow, FromColumn, ToRow, ToColumn].Merge = true;
所有这些变量都是整数。
答案 2 :(得分:4)
您可以创建扩展方法:
public static void Merge(this ExcelRangeBase range)
{
ExcelCellAddress start = range.Start;
ExcelCellAddress end = range.End;
range.Worksheet.Cells[start.Row, start.Column, end.Row, end.Column].Merge = true;
}
您可以像使用互操作一样使用它:
range.Merge();