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

我有以下代码:

<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文件中放置一个图像,字体大小,颜色,填充颜色等。所有的格式化都需要在后面的代码中完成。

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