在ASP.NET中,经常会遇到数据库中数据导出为Excel表格的问题。以下代码为页面“导出”按钮的后台响应事件,以后类似事件可以如此写。
注意:其中副标题“时间”的计算,本算法通过将数据库中year和month合并为一个整型数(1~9月份要改为01~09),然后记录最大值和最小值。最后最小值为起始年月,最大值为终止年月。
protected void btnExport_Click(object sender, EventArgs e)
{
string cChangming = ddlDepartment.SelectedItem.Value.ToString();
string cYear = ddlYearlist.SelectedItem.Value.ToString();
string cMonth = ddlMonthlist.SelectedItem.Value.ToString();
object missing = Missing.Value;
DateTime beforeTime;
DateTime afterTime;
string cWherestr = " 1=1 ";
if (cChangming != "全部")
{
cWherestr = cWherestr + " and changmingid = '" + cChangming + "'";
}
if (cYear != "全部")
{
cWherestr = cWherestr + " and year = " + cYear;
}
if (cMonth != "全部")
{
cWherestr = cWherestr + " and month = " + cMonth;
}
DataSet cds = DataAccess.GetDataList_Export(cWherestr);//获取数据
int rowCount = cds.Tables[0].Rows.Count; //源DataTable行数
int colCount = cds.Tables[0].Columns.Count; //源DataTable列数
beforeTime = DateTime.Now;
Excel.Application cexcelapp = new Excel.Application();
cexcelapp.