word";
//变量定义
string colHeaders=null;
string Is_item=null;
//显示格式定义////////////////
//文件流操作定义
// FileStream fs=new FileStream(FileName,FileMode.Create,FileAccess.Write);
//StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
StringWriter sfw=new StringWriter();
//定义表对象与行对象,同时用DataSet对其值进行初始化
System.Data.DataTable dt=ds.Tables[0];
DataRow[] myRow=dt.Select();
int i=0;
int cl=dt.Columns.Count;
//取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符
for(i=0;i<cl;i++)
{
//if(i==(cl-1)) //最后一列,加n
// colHeaders+=dt.Columns[i].Caption.ToString();
//else
colHeaders+=dt.Columns[i].Caption.ToString()+"t";
}
sfw.WriteLine(colHeaders);
//sw.WriteLine(colHeaders);
//逐行处理数据
foreach(DataRow row in myRow)
{
//当前数据写入
for(i=0;i<cl;i++)
{
//if(i==(cl-1))
// Is_item+=row[i].ToString()+"n";
//else
Is_item+=row[i].ToString()+"t";
}
sfw.WriteLine(Is_item);
//sw.WriteLine(Is_item);
Is_item=null;
}
resp.Write(sfw);
//resp.Clear();
resp.End();
}
catch(Exception e)
{
throw e;
}
}
#endregion
/// <summary>
/// 数据集转换,即把DataSet转换为Word对象
/// </summary>
/// <param name="ds"></param>
/// <param name="titlename"></param>
///
#region // 运行html+css生成Word文件
public void DataSetToWord(DataSet ds,string FileName,string titlename)
{
//调用Office
//备注:速度太慢放弃应用此方法
//OWC.Word.Application oWord=new OWC.Word.ApplicationClass();
//OWC.Word._Document oDoc=new OWC.Word.DocumentClass();
string ExportFileName=null;
if(FileName==null || FileName=="")
ExportFileName="DFSOFT";
else
ExportFileName=FileName;
if(titlename=="" || titlename==null)
titlename="添加标题处(高级报表)";
//定义表对象与行对象,同时用DataSet对其值进行初始化
System.Data.DataTable dt=ds.Tables[0];
DataRow[] myRow=dt.Select();
int i=0;
int cl=dt.Columns.Count;
#region
// string FileTitle="<center><table><tr><td><b>报表测试</b></td></tr></table>"+"n";
// string EndFile="</center>";
// //Web页面定义
HttpResponse resp;
resp=HttpContext.Current.Response;
resp.Clear();
resp.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
resp.AppendHeader("Content-disposition","attachment;filename="+ExportFileName+".doc");
resp.ContentType="application/vnd.ms-word";
// System.IO.StringWriter oSW=new StringWriter();
// System.Web.UI.HtmlTextWriter oHW=new System.Web.UI.HtmlTextWriter(oSW);
// System.Web.UI.WebControls.DataGrid oDG=new System.Web.UI.WebControls.DataGrid();
// oDG.DataSource=ds.Tables[0];
// oDG.DataBind();
// oDG.RenderControl(oHW);
// resp.Write(FileTitle.ToString()+oSW.ToString()+EndFile.ToString());
// resp.End();
#endregion
string BeginTab="<table border='0' cellpadding='0' cellspacing='0' style='border-right:#000000 0.1pt solid;border-top:#000000 0.1pt solid;'>";
string EndTab="</table>";
string FileIO=null;
string MainIO=null;
string TitleTab="<tr><td style='font-size:13px;' align='center'><b>"+titlename+"</b></td></tr><tr><td align='right' style='font-size:15px;'>"+DateTime.Now.Year.ToString()+"年"+DateTime.Now.Month.ToString()+"月"+DateTime.Now.Day.ToString()+"日 </td></tr>";
string BeginTr="<tr>";
string EndTr="</tr>";
for(i=0;i<cl;i++)
{
FileIO+="<td style='border-left:#000000 0.1pt solid; border-bottom:#000000 1.0pt solid; font-size:15px;' align='center'><b>"+dt.Columns[i].Caption.ToString()+"</b></td>";
}
FileIO=BeginTr.ToString()+FileIO.ToString()+EndTr.ToString();
//逐行处理数据
foreach(DataRow row in myRow)
{
string OutIO=null;
//当前数据写入
for(i=0;i<cl;i++)
{
OutIO+="<td style='border-left:#000000 0.1pt solid; border-bottom:#000000 1.0pt solid; font-size:15px;' align='center'>"+row[i].ToString()+"</td>";
}
MainIO+=BeginTr.ToString()+OutIO.ToString()+EndTr.ToString();
}
FileIO="<center><table>"+TitleTab.ToString()+"<tr>"+BeginTab.ToString()+FileIO.ToString()+MainIO.ToString()+EndTab.ToString()+"</tr></table></center>";
resp.Write(FileIO.ToString());
resp.End();
}
#endregion
}
}










