C# EPPlus无法将文本垂直对齐到合并单元格的中心

C# EPPlus无法将文本垂直对齐到合并单元格的中心,c#,asp.net,excel,epplus,C#,Asp.net,Excel,Epplus,我试图垂直对齐文本的中心,但它不工作。文本位于合并单元格的底部。下面是最基本的代码,它不起作用 // get handle to the existing worksheet ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets.Add("mysheet"); //[row,col] worksheet.Cells[1, 1].Value = "a1"; worksheet.Cells[2, 1].Value = "a1"; work

我试图垂直对齐文本的中心,但它不工作。文本位于合并单元格的底部。下面是最基本的代码,它不起作用

// get handle to the existing worksheet
ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets.Add("mysheet");

//[row,col]
worksheet.Cells[1, 1].Value = "a1";
worksheet.Cells[2, 1].Value = "a1";
worksheet.Cells[3, 1].Value = "a1";
worksheet.Cells[4, 1].Value = "a1";
worksheet.Cells[5, 1].Value = "a1";
worksheet.Cells[6, 1].Value = "a1";

//comment out below six lines to make it work
worksheet.Cells[1, 2].Value = "11";
worksheet.Cells[2, 2].Value = "12";
worksheet.Cells[3, 2].Value = "13";
worksheet.Cells[4, 2].Value = "14";
worksheet.Cells[5, 2].Value = "15";
worksheet.Cells[6, 2].Value = "16";
//comment out above six lines to make it work

worksheet.Cells["A1:A6"].Merge = true;
worksheet.Cells["A1:A6"].Style.VerticalAlignment = ExcelVerticalAlignment.Center;

xlPackage.Save();
请帮忙

在末尾添加这些行可以使其正常工作:

工作表.Column(1).Style.VerticalAlignment=ExcelVerticalAlignment.Center; 工作表.Column(2).Style.VerticalAlignment=ExcelVerticalAlignment.Center

这意味着我必须将所有列居中对齐,才能将第一列居中对齐。

试试这个

worksheet.Range["A1", "A6"].VerticalAlignment = XlHAlign.xlHAlignCenter;
using OfficeOpenXml.Style;
worksheet.Cells["A1:A6"].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
让我知道这是否有效。

试试这个

worksheet.Range["A1", "A6"].VerticalAlignment = XlHAlign.xlHAlignCenter;
using OfficeOpenXml.Style;
worksheet.Cells["A1:A6"].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
或者

worksheet.Cells["A1:A6"]. = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;

这应该行得通。可能会发布更多的代码,可能是其他内容覆盖了它。您使用的是哪个版本的EPPlus?你发布的代码是你对软件包所做的唯一事情吗?当我尝试它时,它对我很好。它是EPPlus 4.0.5.0。是的,发布的代码是我正在做的唯一事情,我已经将代码简化到最低限度,以关注问题本身。我这边不行。它需要Microsoft.Office.Interop.Excel,而Microsoft.Office.Interop.Excel需要MS Office。我没有安装它。对于登陆此处的Powershell人员:
$worksheet.Cells[$worksheet.Dimension.Address].Style.VerticalAlignment=[OfficeOpenXml.Style.ExcelVerticalAlignment]::Top$worksheet.Cells[$worksheet.Dimension.Address].Style.HorizontalAlignment=[OfficeOpenXml.Style.ExcelHorizontalAlignment]::左