Coding C# Write Excel file HTML format

จากครั้งที่แล้ว ที่พูดถึง concept กันไปแล้วเรื่อง write เป็น excel ด้วย html code นะครับ
คราวนี้มาดู การ code กันครับ

ขอแสดงตัวอย่างก่อน
เราจะ ให้ output มีการแสดงผลแบบนี้ คือ












Product idProduct NamePrice
1 Product12000
2 Product22500

ดังนั้น เราต้องเขียน code html แบบนี้คือ

<table style='width: 318px; height: 124px;' border='1' cellpadding='0' cellspacing='0'>
<tbody>
<tr>
<th>Product id </th>
<th>Product Name</th>
<th>Price</th>
</tr>
<tr>
<td style='text-align: center;'>1</td>
<td> Product1</td>
<td style='text-align: right;'>2000</td>
</tr>
<tr>

<td style='text-align: center;'>2</td>
<td> Product2</td>
<td style='text-align: right;'>2500</td>
</tr>
</tbody></table>


ดังนั้น ผม จะ แสดงตัวอย่าง code ให้ดูคือ

StringBuilder sb = new StringBuider();
//Static code for fixed format html
sb.Append("<table style='width: 318px; height: 124px;' border='1' cellpadding='0' cellspacing='0'>");
sb.Append("<tbody>");
sb.Append("<tr>");
sb.Append("<th>Product id </th>");
sb.Append("<th>Product Name</th>");
sb.Append("<th>Price</th>");
sb.Append("</tr>");
//This part is get data from database
SqlConnection con = new SqlConnection();
con.ConnectionString = "your connection string";

SqlCommand cmd = new SqlCommand();
cmd.CommandType = Commandtype.Text;
cmd.CommandText ="SELECT productid,productname,price FROM tb_product WHERE (productid <=2)"; cmd.Connection = con; if (con.State == ConnectionState.Open)
{
con.Close();
}

con.Open();

SqlDataReader sqlRead = cmd.ExecuteReader();

if (sqlRead.HasRow)
{
DataTable dtable = new DataTable();
dtable.Load(sqlRead);

foreach (DataRow row in dtable.Rows)
{
sb.Append("<tr>");
sb.Append("<td>");
sb.Append(row["productid"].ToString());
sb.Append("</td>");
sb.Append("<td>");
sb.Append(row["productname"].ToString());
sb.Append("</td>");
sb.Append("<td>");
sb.Append(row["price"].ToString());
sb.Append("</td>");
sb.Append("</tr>");
}
}
else
{
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("");
sb.Append("</td>");
sb.Append("<td>");
sb.Append("");
sb.Append("</td>");
sb.Append("<td>");
sb.Append("");
sb.Append("</td>");
sb.Append("</tr>");

}

sb.Append("</tbody></table>");

//write string content to file
string fileneme="yourfilepath/yourfilename.xls";
StreamWriter sw = new StreamWriter(filename);

try
{
sw.Write(sb.ToString());

}
catch (IOException ex)
{
MessageBox.Show("Error On Save file:" + ex.Message, "Error on Save file.", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
sw.Close();
}

//สามารถ แก้ไข code หรือเพิ่ม การ ดัก error ในการ write file ได้เช่น ปัญหา การ save file ทับไฟล์เดิม เป็นต้น

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ปัญหาเด็ก กลืน ดินน้ำมัน

ปัญหา Custom Paper Size บน Crystal Report

Function Baht Text บน Crystal Report