![](/img/trans.png)
[英]ClosedXML DataTable to Excel does not export the int(c#) values to Number(Excel)
[英]C# - How to used for StringBuilder in Export Datatable to excel using ClosedXml
我在下面使用這個代碼
private void Form1_Load(object sender, EventArgs e)
{
System.Data.DataTable dt;
SqlConnection con=new SqlConnection("Data Source=sanjay;Initial Catalog=Login;Integrated Security=True");
SqlCommand cmd=new SqlCommand("select * from login",con);
SqlDataAdapter sda=new SqlDataAdapter(cmd);
dt=new System.Data.DataTable();
sda.Fill(dt);
int srno = 1;
StringBuilder stb = new StringBuilder();
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
String Todaysdate1 = DateTime.Now.ToString("dd-MM-yyyy");
string appPath = Path.Combine(Environment.CurrentDirectory + "\\");
if (!Directory.Exists(appPath + "\\" + Todaysdate1 + "\\TD"))
{
Directory.CreateDirectory(appPath + "\\" + Todaysdate1);
}
if (dt.Rows.Count > 0)
{
stb.Append("<html>");
stb.Append("<head>");
stb.Append("</head>");
stb.Append("<body>");
stb.Append("Sanju");
stb.Append("<table border=2>");
stb.Append("<tbody>");
stb.Append("<tr style='height:25px'>");
stb.Append("<td colspan='18' style='text-align:center;font-size:18px;font-weight:bold;min-width:50px'>");
stb.Append("<center> Form III - DEAF Voucher Preparation</center>");
stb.Append("</td>");
stb.Append("</tr>");
stb.Append("<tr style='height:21px'>");
stb.Append("<td colspan='18' style='text-align:center;font-size:16px;font-weight:bold;min-width:50px'>");
stb.Append("<center>2018-05-01</center>");
stb.Append("</td>");
stb.Append("</tr>");
stb.Append("<tr style='height:100px;font-weight:bold'>");
stb.Append("<td style='text-align:center;font-size:14px'>No.</td>");
stb.Append("</tr>");
for (int i = 0; i < dt.Rows.Count; i++)
{
stb.Append("<tr>");
stb.Append("<td>" + srno++ + " </td>");
stb.Append("<td nowrap>" + dt.Rows[i][0].ToString() + "</td>");
stb.Append("<td style='background-color:#ff99cc'></td>");
stb.Append("<td style='background-color:#ff99cc'></td>");
stb.Append("<td style='background-color:#ff99cc'></td>");
stb.Append("</tr>");
wb.Worksheets.Add(srno.ToString(), i);//Add worksheet
}
stb.Append("</tbody>");
stb.Append("</table>");
stb.Append("</body>");
stb.Append("</html>");
using (System.IO.StreamWriter file = new System.IO.StreamWriter(appPath + "\\" + Todaysdate1 + "\\TD_Results_From.XLS"))
{
file.WriteLine(stb.ToString());
}
System.Diagnostics.Process.Start(appPath + "\\" + Todaysdate1 + "\\TD_Results_From.XLS");
}
我使用Wb.SavaAs()
只顯示添加工作表,但第一個工作表未打開我將訪問工作簿和所有工作表每個后退創建工作表。 添加多個工作表我正在使用wb.Worksheets.Add(srno.ToString(), i);
這個語句我也使用了closedXml
問題是只創建主工作表但從不打開所有工作表
任何身體幫助我前進謝謝
ClosedXML 無法導入 HTML。
ClosedXML 可以為 Excel 寫出 HTML 表格嗎
您必須自己解析 HTML(使用HTML Agility Pack 之類的東西)並將 HTML 表格中每個單元格的內容放在 ClosedXML 電子表格的相應單元格中
你應該這樣做:
public void WriteDataToExcel(DataTable dt, string fileName)
{
using (XLWorkbook wb = new XLWorkbook())
{
//Add DataTable in worksheet
wb.Worksheets.Add(dt);
using (Stream stream = new FileStream(fileName, FileMode.Create))
{
wb.SaveAs(stream);
}
}
}
此外,您可以像這個示例項目一樣使用Open XML
來導出 XLS:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.