导出HTML表格到Excel并格式化Excel文件

本文关键字:Excel 文件 格式化 HTML 表格 导出 | 更新日期: 2023-09-27 18:16:59

我有以下代码:

<tfoot>
<tr>
  <td>Tot</td>
  <td>60</td>
  <td></td>
  <td>30</td>
</tr>
<tr>
   <td>Avg</td>
   <td>20</td>
   <td></td>
   <td>10</td>
</tr>

背后的代码:

public string getWhileLoopData() 
{
 string htmlStr = "";
 SqlConnection thisConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
 SqlCommand thisCommand = thisConnection.CreateCommand();
 thisCommand.CommandText = "SELECT * FROM MyTable WHERE TheDate = @TheDate";
 thisCommand.Parameters.AddWithValue("@TheDate", txtDate.Text);

int totnum1 = 0;
decimal totnum2 = 0;
int numRow = 0;
decimal avg1 = 0;
decimal avg2 = 0;

 thisConnection.Open();
 SqlDataReader reader = thisCommand.ExecuteReader();
 while (reader.Read()) {
     int id = reader.GetInt32(0);
     int Number01 = reader.GetInt32(1);
     DateTime TheDate = reader.GetDateTime(2);
     Decimal Number02 = reader.GetDecimal(3);
     totnum1 += reader.GetInt32(1);
     totnum2 += reader.GetInt32(3);
     numRow ++;
     //string Pass = reader.GetString(2);
     htmlStr += "<tr><td>" + id + "</td><td>" + Number01 + "</td><td>" + TheDate + "</td><td>" + Number02 + "</td></tr>";
 }
 thisConnection.Close();
avg1 = totnum1 / numRow;
avg2 = totnum2 / numRow;
htmlStr += string.Format("<tfoot><tr><td>Tot</td><td>{0}</td><td></td><td>{1}</td></tr>", totnum1 , totnum2 );
htmlStr += string.Format("<tfoot><tr><td>Avg</td><td>{0}</td><td></td><td>{1}</td></tr></tfoot>", avg1 , avg2 );

 return htmlStr;
}

有人知道如何将其导出到Excel文件吗?但我想要格式化excel文件。例如:在导出后将图像放入Excel文件,字体大小,颜色,填充颜色等。所有的格式化都需要从后面的代码完成。

导出HTML表格到Excel并格式化Excel文件

你最好的机会是OpenXML SDK - http://msdn.microsoft.com/en-us/library/office/hh180830(v=office.14).aspx。它允许你生成Excel文件