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("{0} | ", 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("{0} | ", value ?? string.Empty));
});
sBuilder.Append("
");
});
sBuilder.Append("
/// 把DataTable转换成Html的Table
///
/// DataTable对象
///
public static string DataTableToHtmlTable(DataTable dataTable)
{
StringBuilder sBuilder = new StringBuilder();
sBuilder.Append("");
foreach (DataRow dr in dataTable.Rows)
{
sBuilder.Append("");
foreach (DataColumn dc in dataTable.Columns)
{
if (dc.ColumnName.Equals(""))
{
sBuilder.Append(string.Format("{0} | ", dr[dc].ToString()));
}
else
{
sBuilder.Append(string.Format("{0} | ", dr[dc].ToString()));// style='vnd.ms-excel.numberformat:@'
}
}
sBuilder.Append("
");
}
sBuilder.Append("