导出excel方法二
#region 导出表结构
private void Export(string TypeId)
{
string strXML = "";
strXML = CreateXML(TypeId);
string path = this.txtPath.Value;
string name = "表结构" + "_" + string.Format("{0}", Session["UserName"]) + "_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls";
this.Name.Value = name;
this.dbtxtData.Value = strXML;
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script language='javascript'>CreatFile();</script>");
}
private string CreateXML(string TypeId)
{
DataTable dt = new DataTable();
string UserCode = Session["UserCode"].ToString();
dt = JHSoft.ConstructDB.DBOperate.GetTables(UserCode, TypeId);
StringBuilder strXmlShow = new StringBuilder();
DataRowCollection drc = dt.Rows;
if (drc.Count > 0)
{
foreach (DataRow dr in drc)
{
string strXmlFrame = string.Empty;
string TableCode = dr["TableCode"].ToString();
string TableName = dr["TableName"].ToString();
string TableId = dr["TableId"].ToString();
string kk = "<meta http-equiv='content-type' content='application/ms-excel; charset=gb2312'/><table cellspacing=\"0\" rules=\"all\" border=\"1\" id style=\"border-collapse:collapse;font-family:CamBria;\">";
kk += "<tr align=\"Center\" style=\"background-color:#CAE1FF;height:35px;\"><td><b><font color='red'>表名:" + TableCode + "</font></b></td><td><b><font color='red'>表的中文名称:" + TableName + "</font></b></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>";
strXmlShow.Append(kk);
DataTable dtField = new DataTable();
JHSoft.ConstructDB.DBOperate db = new JHSoft.ConstructDB.DBOperate(UserCode);
dtField = db.SearchByTableAndStruc(TableId);
if (dtField != null && dtField.Rows.Count > 0)
{
strXmlFrame = "<tr align=\"Center\" style=\"background-color:#CAE1FF;height:30px;\"><td><b>序号</b></td><td><b>字段名称</b></td><td><b>字段描述</b></td><td><b>字段类型</b></td><td><b>是否主键</b></td><td><b>是否自增长</b></td><td><b>是否外键</b></td><td><b>是否为空</b></td></tr>";
for (int i = 0; i < dtField.Rows.Count; i++)
{
string FieldName = dtField.Rows[i]["FieldName"].ToString();
string DescriptionInfo = dtField.Rows[i]["DescriptionInfo"].ToString();
string DataType = dtField.Rows[i]["DataType"].ToString();
string FieldLength = dtField.Rows[i]["FieldLength"].ToString();
if (FieldLength != "")
{
FieldLength = "(" + FieldLength + ")";
}
else
{
FieldLength = "";
}
string PrimeKey = dtField.Rows[i]["PrimeKey"].ToString();
if (PrimeKey == "1")
{
PrimeKey = "<font color='red'>主键</font>";
}
else
{
PrimeKey = "";
}
string foreignKey = dtField.Rows[i]["foreignKey"].ToString();
if (foreignKey == "1")
{
foreignKey = "<font color='red'>外键</font>";
}
else
{
foreignKey = "";
}
string ForNull = dtField.Rows[i]["ForNull"].ToString();
if (ForNull == "1")
{
ForNull = "<font color='red'>不允许空</font>";
}
else
{
ForNull = "允许空";
}
string Identify = dtField.Rows[i]["Identify"].ToString();
if (Identify == "1")
{
Identify = "<font color='red'>自增长</font>";
}
else
{
Identify = "";
}
int num = i + 1;
strXmlFrame += "<tr align=\"Center\"><td><b>" + num + "</b></td><td>" + FieldName + "</td><td>" + DescriptionInfo + "</td><td><font color='#4169E1'>" + DataType + FieldLength + "</font></td><td>" + PrimeKey + "</td><td>" + Identify + "</td><td>" + foreignKey + "</td><td>" + ForNull + "</td></tr>";
}
strXmlFrame += "<tr></tr>";
strXmlFrame += "<tr></tr>";
strXmlFrame += "<tr></tr>";
strXmlShow.Append(strXmlFrame.ToString());
strXmlShow.Append("</table>");
}
else
{
strXmlFrame = "<tr align=\"Center\" style=\"background-color:#CAE1FF;height:30px;\"><td><b>序号</b></td><td><b>字段名称</b></td><td><b>字段描述</b></td><td><b>字段类型</b></td><td><b>是否主键</b></td><td><b>是否自增长</b></td><td><b>是否外键</b></td><td><b>是否为空</b></td></tr>";
strXmlFrame += "<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>";
strXmlFrame += "<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>";
strXmlFrame += "<tr></tr>";
strXmlFrame += "<tr></tr>";
strXmlShow.Append(strXmlFrame.ToString());
strXmlShow.Append("</table>");
}
}
}
if (dt != null)
dt.Dispose();
return strXmlShow.ToString();
}
#endregion

浙公网安备 33010602011771号