using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.OleDb; using System.Web.UI; using System.Web; using System.Collections; using System.IO; namespace HH.WMS.Utils { public class ZWord { /// /// 把DataTable导出为Word文件 /// /// Page /// Word文件名(不包括后缀*.doc) /// 将要被导出的DataTable对象 /// public static bool DataTableToWord(System.Web.HttpResponse response, string fileName, DataTable dtbl) { response.Clear(); response.Buffer = true; response.Charset = "UTF-8"; response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName + ".doc"); response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); response.ContentType = "application/ms-word"; //page.EnableViewState = false; response.Write(DataTableToHtmlTable(dtbl)); response.End(); return true; } public static Stream ListToHtmlTable(object list, Dictionary titles, bool IsExportAllCol) { var sBuilder = new StringBuilder(); sBuilder.Append(""); sBuilder.Append(""); EachHelper.EachListHeader(list, (index, name, type) => { if (IsExportAllCol || titles.ContainsKey(name)) sBuilder.Append(string.Format("", titles[name]??name)); }); sBuilder.Append(""); EachHelper.EachListRow(list, (index, row) => { sBuilder.Append(""); EachHelper.EachObjectProperty(row, (cellIndex, name, value) => { if (IsExportAllCol || titles.ContainsKey(name)) sBuilder.Append(string.Format("", value ?? string.Empty)); }); sBuilder.Append(""); }); sBuilder.Append(" /// 把DataTable转换成Html的Table /// /// DataTable对象 /// public static string DataTableToHtmlTable(DataTable dataTable) { StringBuilder sBuilder = new StringBuilder(); sBuilder.Append("
{0}
{0}
"); foreach (DataRow dr in dataTable.Rows) { sBuilder.Append(""); foreach (DataColumn dc in dataTable.Columns) { if (dc.ColumnName.Equals("")) { sBuilder.Append(string.Format("", dr[dc].ToString())); } else { sBuilder.Append(string.Format("", dr[dc].ToString()));// style='vnd.ms-excel.numberformat:@' } } sBuilder.Append(""); } sBuilder.Append("
{0}{0}