gpt4 book ai didi

asp.net - 如何使用 RowSpan>1 垂直对齐单元格

转载 作者:行者123 更新时间:2023-12-01 12:58:21 24 4
gpt4 key购买 nike

我想要这个enter image description here , 而是有这个 enter image description here . 请注意,当我将 VerticalAlign.Middle 更改为 VerticalAlign.Top 时,它实际上按预期工作。 请看下面我正在尝试的代码:

   // I assume that table table is already created and well-defined  
// Create a new row

TableRow tRow = new TableRow();

tRow.HorizontalAlign = HorizontalAlign.Center;

// add the row to the table

table.Rows.Add(tRow);

// Create a new cell

TableCell tCell = new TableCell();

tCell.VerticalAlign = VerticalAlign.Middle; // Want to get it in the middle of two merged rows

tCell.RowSpan = 2;

tCell.Text = "England";

tCell.Font.Bold = true;

tRow.Cells.Add(tCell);

// Create new cell

tCell = new TableCell();

tCell.Text = "2010";

tCell.Font.Bold = true;

tRow.Cells.Add(tCell);

// Create new row

tRow = new TableRow();

// add the row to the table

table.Rows.Add(tRow);

// Create new cell

tCell = new TableCell();

tCell.Text = "2011";

tCell.Font.Bold = true;

tRow.Cells.Add(tCell);

更新:请查看下面的额外代码。我没有这样的 html 代码,但我查看了 sw.ToString() 并且格式看起来正确,但 excel 文件的格式似乎仍然不正确。我的浏览器是IE但是我觉得没关系。我尝试了 tCell.CssClass = "className"; 结果是一样的。

public static void Comparison_Report(string fileName)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", fileName));
HttpContext.Current.Response.ContentType = "application/ms-excel";
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
// Create a table to contain the grid
Table table = new Table();

///----- Original code goes here----

// render the table into the htmlwriter
table.RenderControl(htw);
// render the htmlwriter into the response
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
}

}

}

最佳答案

终于亲测了。如果您在表格单元格上使用 valign="middle",它似乎无法在 Excel 中使用。你必须使用 CSS。

所以代替

tCell.VerticalAlign = VerticalAlign.Middle

tCell.Style.Add("vertical-align", "middle")

这将在 excel 中正确对齐文本。如果将 Excel 从 excel 导出到 html,则 Excel 本身会使用 css-classes。

但重复我的评论,我建议生成一个真正的 excel 文件,而不是创建可能被正确打开和解释的 html。使用 EPPlus 非常简单:Exporting data to excel

关于asp.net - 如何使用 RowSpan>1 垂直对齐单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8326232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com