private const string connstr = "Data Source=SERVER;Initial Catalog=Test;User ID=sa;Password=sa";
private readonly SqlSchemaProvider provider = new SqlSchemaProvider(connstr);
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.rptData.DataSource = provider.GetTables();
this.rptData.DataBind();
}
}
/// <summary>
///
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public string OutputNullable(bool nullable)
return nullable ? "<span style='font-family:宋體'>是</span>" : "<span style='font-family: 宋體; color: red'>否</span>";
public string ColumnInfo(string tablename)
StringBuilder result = new StringBuilder();
IList<ColumnInfo> columns = provider.GetTableColumns(tablename);
foreach (ColumnInfo column in columns)
result.AppendFormat(@"<tr>
<td width=103 valign=top style='width:77.4pt;border:solid windowtext 1.0pt;
border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'><span lang=EN-US>{0}</span></p>
</td>
<td width=84 valign=top style='width:63.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal align=center style='text-align:center'><span lang=EN-US>{1}</span></p>
<td width=51 valign=top style='width:38.25pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
<p class=MsoNormal align=center style='text-align:center'><span lang=EN-US>{2}</span></p>
<td width=71 valign=top style='width:53.55pt;border-top:none;border-left:
<p class=MsoNormal align=center style='text-align:center'>{3}</p>
<p class=MsoNormal align=center style='text-align:center'><span lang=EN-US>{4}</span></p>
<td width=95 valign=top style='width:71.3pt;border-top:none;border-left:none;
<p class=MsoNormal align=center style='text-align:center'><span lang=EN-US>{5}</span></p>
<td width=92 valign=top style='width:69.05pt;border-top:none;border-left:
<p class=MsoNormal align=center style='text-align:center'><span lang=EN-US>{6}</span></p>
</tr>", column.Name, column.DataType, column.Length, OutputNullable(column.Nullable),
OutputValue(column.DefaultValue),
OutputIdentity(column.Identity, column.IdentitySeed, column.IdentityIncrement),
OutputValue(column.ColumnDesc));
return result.ToString();
//<span style='font-family: 宋體'>自動增長</span><span lang="EN-US">(1) </span><span style='font-family: 宋體'>
// 不用于複制</span>
/// 輸出其他
public string OutputIdentity(int identity, int seed, int increment)
if (identity == 1 && seed == 1 && increment == 1)
return "<span style='font-family: 宋體'>自動增長</span><span lang='EN-US'>(1) </span>";
else
return "&nbsp;";
private string OutputValue(string obj)
if (string.IsNullOrEmpty(obj))
return obj;
} 代碼說明:
這裡是嵌套輸出的表格,注意處理為空的情況,否則表格可能不完整,大家可以根據實際情況進行修改。
大家直接把頁面上的表格全選然後複制到Word裡面即可,這裡注意了,我試過直接另存為word,但是版式不對,但是直接複制到Word裡面是可以的。
本文轉自over140 51CTO部落格,原文連結:http://blog.51cto.com/over140/584170,如需轉載請自行聯系原作者