c#怎样把windows窗体的数据表生成word文件 c#怎样把windowsform窗体的数据表生成word文件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary> /// 导出Excel表格 /// </summary> /// <param name="data">DataTable</param> /// <param name="page">Page</param> /// <param name="columns">导出的列名中英文</param> /// <param name="title">表格的标题</param> /// <param name="fileName">导出的文件名</param> public void ExportExcel(DataTable data, Page page, string[] columns, string title, string fileName) { StringBuilder sb = new StringBuilder(); string[] chColumns = new string[] { };//中文标题 string[] enColumns = new string[] { };//对象属性 if (!string.IsNullOrEmpty(columns[0])) { chColumns = columns[0].Split(';'); enColumns = columns[1].Split(';'); } sb.Append("<meta HTTP-EQUIV=\"content-type\" CONTENT=\"text/html; charset=utf-8\"><table border=\"1\" cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\" >"); sb.Append("<tr><td colspan=\"" + enColumns.Length + "\" align=\"center\" style=\"font-size:24px; font-weight:bold;\">" + title + "</td></tr>"); sb.Append("<tr>"); //创建表头 if (chColumns.Length > 0) { for (int i = 0; i < chColumns.Length; i++) { sb.Append("<td align=\"center\" style=\"font-weight:bold;\">" + chColumns[i] + "</td>"); } } sb.Append("</tr>"); //添加内容 for (int i = 0; i < data.Rows.Count; i++) { sb.Append("<tr>"); for (int j = 0; j < enColumns.Length; j++) { sb.Append("<td align=\"center\">" +data.Rows[i][j].ToString() + "</td>"); //获取list对象中的属性值 } sb.Append("</tr>"); } sb.Append("</table>"); WriteFile(sb,page,fileName); } /// <summary> /// 将StringBuilder写入流 /// </summary> /// <param name="sb">StringBuilder对象</param> /// <param name="page">Page</param> /// <param name="fileName">导出文件名</param> private void WriteFile(StringBuilder sb,Page page,string fileName) { page.Response.Buffer = true; page.Response.Clear(); page.Response.ClearContent(); page.Response.ClearHeaders(); page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName + ".xls", System.Text.Encoding.UTF8)); page.Response.ContentType = "application/ms-excel"; page.Response.Charset = "UTF-8"; page.Response.HeaderEncoding = System.Text.Encoding.UTF8; page.Response.ContentEncoding = System.Text.Encoding.UTF8; System.IO.StringWriter writer = new System.IO.StringWriter(sb); System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer); //关闭流 htmlWriter.Close(); writer.Close(); //输出 page.Response.Write(writer); page.Response.End(); } page.Response.ContentType = "application/ms-excel";fileName + ".xls", 改成 page.Response.ContentType = "application/ms-word"; filename+“。doc” winform中怎么样避免打开重复窗体? c# GetOleDbSchemaTable获取Sheet名称不一致? split怎样使用回车和空格? [急求]如何用c#操作ppt? C#源代码 json序列问题 json 转换为对象问题 C# pictureBox控件中绘制动态图形时闪烁怎么解决? 如何通过textbox实现向数据库的更新(update)操作 本人菜鸟求解 高手你知道,微软让我痛心疾首!!! 哪里有c#参考资料下载? 报表中的PageFooter不显示内容 我的vs2008 怎么没有dateTimePicker这个控件?
/// <summary>
/// 导出Excel表格
/// </summary>
/// <param name="data">DataTable</param>
/// <param name="page">Page</param>
/// <param name="columns">导出的列名中英文</param>
/// <param name="title">表格的标题</param>
/// <param name="fileName">导出的文件名</param>
public void ExportExcel(DataTable data, Page page, string[] columns, string title, string fileName)
{
StringBuilder sb = new StringBuilder(); string[] chColumns = new string[] { };//中文标题
string[] enColumns = new string[] { };//对象属性 if (!string.IsNullOrEmpty(columns[0]))
{
chColumns = columns[0].Split(';');
enColumns = columns[1].Split(';');
} sb.Append("<meta HTTP-EQUIV=\"content-type\" CONTENT=\"text/html; charset=utf-8\"><table border=\"1\" cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\" >");
sb.Append("<tr><td colspan=\"" + enColumns.Length + "\" align=\"center\" style=\"font-size:24px; font-weight:bold;\">" + title + "</td></tr>");
sb.Append("<tr>"); //创建表头
if (chColumns.Length > 0)
{
for (int i = 0; i < chColumns.Length; i++)
{
sb.Append("<td align=\"center\" style=\"font-weight:bold;\">" + chColumns[i] + "</td>");
}
}
sb.Append("</tr>"); //添加内容
for (int i = 0; i < data.Rows.Count; i++)
{
sb.Append("<tr>");
for (int j = 0; j < enColumns.Length; j++)
{
sb.Append("<td align=\"center\">" +data.Rows[i][j].ToString() + "</td>"); //获取list对象中的属性值
}
sb.Append("</tr>");
} sb.Append("</table>"); WriteFile(sb,page,fileName);
}
/// <summary>
/// 将StringBuilder写入流
/// </summary>
/// <param name="sb">StringBuilder对象</param>
/// <param name="page">Page</param>
/// <param name="fileName">导出文件名</param>
private void WriteFile(StringBuilder sb,Page page,string fileName)
{
page.Response.Buffer = true;
page.Response.Clear();
page.Response.ClearContent();
page.Response.ClearHeaders(); page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName + ".xls", System.Text.Encoding.UTF8));
page.Response.ContentType = "application/ms-excel"; page.Response.Charset = "UTF-8";
page.Response.HeaderEncoding = System.Text.Encoding.UTF8;
page.Response.ContentEncoding = System.Text.Encoding.UTF8; System.IO.StringWriter writer = new System.IO.StringWriter(sb);
System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer); //关闭流
htmlWriter.Close();
writer.Close(); //输出
page.Response.Write(writer);
page.Response.End();
}
fileName + ".xls",
改成 page.Response.ContentType = "application/ms-word"; filename+“。doc”