如何在将数据表导出到.xls文件时在asp.net中加粗string响应

嗨,这是我的代码,它工作正常。 我有一个数据表,我将它转换成.xls文件。 我使用了这个Response.Write(tab + "<b>" + dc.ColumnName + "</b>"); 我想使它大胆

 string attachment = "attachment; filename=" + filename; Response.ClearContent(); Response.AddHeader("content-disposition", attachment); Response.ContentType = "application/vnd.ms-excel"; string tab = ""; foreach (DataColumn dc in dataTable.Columns) { Response.Write(tab + "<b>" + dc.ColumnName + "</b>"); tab = "\t"; } Response.Write("\n"); int i; foreach (DataRow dr in dataTable.Rows) { tab = ""; for (i = 0; i < dataTable.Columns.Count; i++) { Response.Write(tab + dr[i].ToString()); tab = "\t"; } Response.Write("\n"); } Response.End(); Response.Flush(); 

但是这没有奏效,请帮忙。

尝试使用<span style=...>而不是<b>

 Response.Write(tab + "<span style='font-weight:bold'>" + dc.ColumnName + "</span>"); 

自己没有testing过; 如果它仍然不工作,全部改为使用<table><tr><th> / <td> html标签 – 我从经验中知道这可以导出一个“伪Excel”文件。 然后你可以把样式放在<th> / <td>标签上。

你可以请尝试这个:

 //Write in new column Response.Write("<Td>"); //Get column headers and make it as bold in excel columns Response.Write("<B>"); Response.Write(column); Response.Write("</B>"); Response.Write("</Td>"); 

更新

这里的代码和示例数据与一些虚拟数据,只是testing,它工作正常:

  //export to excel datatable var dataTable = new DataTable(); dataTable.Columns.Add("ID"); dataTable.Columns.Add("Name"); dataTable.Columns.Add("Country"); dataTable.Columns.Add("City"); dataTable.Rows.Add("1", "Micheal", "USA", "Washington"); dataTable.Rows.Add("2", "Smith", "UK", "London"); dataTable.Rows.Add("3", "Martin", "AUS", "Sydney"); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.Buffer = true; Response.ContentType = "application/vnd.ms-excel"; Response.Write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"); Response.AddHeader("content-disposition", "attachment;filename=testExport.xls"); Response.ContentEncoding = Encoding.UTF8; Response.Charset = ""; //Set Fonts Response.Write("<font style='font-size:10.0pt; font-family:Calibri;'>"); Response.Write("<BR><BR><BR>"); //Sets the table border, cell spacing, border color, font of the text, background, //foreground, font height Response.Write("<Table border='1' bgColor='#ffffff' borderColor='#000000' cellSpacing='0' cellPadding='0' style='font-size:10.0pt; font-family:Calibri; background:white;'> <TR>"); // Check not to increase number of records more than 65k according to excel,03 if (dataTable.Rows.Count <= 65536) { // Get DataTable Column's Header foreach (DataColumn column in dataTable.Columns) { //Write in new column Response.Write("<Td>"); //Get column headers and make it as bold in excel columns Response.Write("<B>"); Response.Write(column); Response.Write("</B>"); Response.Write("</Td>"); } Response.Write("</TR>"); // Get DataTable Column's Row foreach (DataRow dtRow in dataTable.Rows) { //Write in new row Response.Write("<TR>"); for (int i = 0; i <= dataTable.Columns.Count - 1; i++) { Response.Write("<Td>"); Response.Write(dtRow[i].ToString()); Response.Write("</Td>"); } Response.Write("</TR>"); } } Response.Write("</Table>"); Response.Write("</font>"); Response.Flush(); Response.End();