using System;
using System.Data;
using System.Collections;
using System.Web;
using System.Text;
namespace ZXDT.Common.Office
{
///
/// Excel表单类
///
public class Worksheet
{
private string sheetname = Guid.NewGuid().ToString().Replace("-", "");
///
/// 表单名称
///
public string SheetName
{
set { sheetname = value.Replace(">", "").Replace("<", "").Replace("\"", "").Replace("&", "").Replace("'", ""); }
}
private bool columnfilter = false;
///
/// 是否自动条件过滤
/// 注意:如果设置不导出标题行,此属性无效!
///
public bool ColumnFilter
{
set { columnfilter = value; }
get
{
if (!writeheaders)
return false;
else
return columnfilter;
}
}
private DataTable datasource = new DataTable();
public DataTable DataSource
{
set { datasource = value; }
}
private bool writeheaders = true;
public bool WriteHeaders
{
set { writeheaders = value; }
}
private ArrayList columnname = new ArrayList();
public ArrayList ColumnName
{
set { columnname = value; }
get
{
if (columnname.Count > 0)
return columnname;
else
{
ArrayList temp = new ArrayList();
foreach (DataColumn dc in datasource.Columns)
{
temp.Add(dc.ColumnName);
}
return temp;
}
}
}
public void OutPut()
{
int columscnt = datasource.Columns.Count;
int rowcnt = datasource.Rows.Count + 1;
HttpResponse Response = HttpContext.Current.Response;
Response.Write("");
if (!ColumnFilter)
{
#region
Response.Write("");
if (writeheaders)
{
Response.Write("");
foreach (object o in ColumnName)//
{
Response.Write(" | ");
}
Response.Write("
");
}
foreach (DataRow dr in datasource.Rows)
{
Response.Write("");
for (int i = 0; i < datasource.Columns.Count; i++)
{
Response.Write(" | ");
}
Response.Write("
");
}
Response.Write("
");
#endregion
}
else
{
#region
Response.Write("");
Response.Write("");
if (writeheaders)
{
Response.Write("");
foreach (object o in ColumnName)
{
Response.Write(" | ");
}
Response.Write("
");
}
foreach (DataRow dr in datasource.Rows)
{
Response.Write("");
for (int i = 0; i < datasource.Columns.Count; i++)
{
Response.Write(" | ");
}
Response.Write("
");
}
Response.Write("
");
Response.Write("");
#endregion
}
}
}
}