asp.net到出excel表
浏览量:3372
今天研究一下导出excel表格,在网上看了看别人的代码,自己也写了一个小例子。
DProjectLedgerdpl = new DProjectLedger();
MProjectLedger mp = new MProjectLedger();
if (StringUtil.GetQueryString("projectnumber") != "")
{
mp.projectnumber = Server.UrlDecode(StringUtil.GetQueryString("projectnumber"));
}
if (StringUtil.GetQueryString("pname") != "")
{
mp.projectname = Server.UrlDecode(StringUtil.GetQueryString("pname"));
}
if (StringUtil.GetQueryString("sgdz") != "")
{
mp.sgdz = Server.UrlDecode(StringUtil.GetQueryString("sgdz"));
}
if (StringUtil.GetQueryString("sgdw") != "")
{
mp.constructionUnit = Server.UrlDecode(StringUtil.GetQueryString("sgdw").TrimEnd(','));
}
if (StringUtil.GetQueryString("sgqy") != "")
{
mp.constructionArea = Server.UrlDecode(StringUtil.GetQueryString("sgqy"));
}
if (StringUtil.GetQueryString("zyxf") != "")
{
mp.zyxf = Server.UrlDecode(StringUtil.GetQueryString("zyxf"));
}
if (StringUtil.GetQueryString("progress") != "")
{
mp.progress = Server.UrlDecode(StringUtil.GetQueryString("progress"));
}
string years = "";
if (Request.QueryString["years"] != null)
{
years = Request.QueryString["years"];
}
if (years == "")
{
years = DateTime.Now.ToString("yy");
}
mp.sgdzname = years;
if (Request.QueryString["htkgrqs"] != null)
{
mp.htkgrqs = Request.QueryString["htkgrqs"];
}
if (Request.QueryString["htkgrqz"] != null)
{
mp.htkgrqz = Request.QueryString["htkgrqz"];
}
if (Request.QueryString["htjgrqs"] != null)
{
mp.htjgrqs = Request.QueryString["htjgrqs"];
}
if (Request.QueryString["htjgrqz"] != null)
{
mp.htjgrqz = Request.QueryString["htjgrqz"];
}
mp.id = StringUtil.GetQueryInt("sort");
Workbook workbook = new Workbook();
Worksheet sheet = (Worksheet)workbook.Worksheets[0];
string[] st = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AQ", "AR", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ" };
int i = 1;
string column="";
string cont = "";
sheet.Cells[st[0] + "1"].PutValue("序号");
foreach (ListItem lt in cbziduan.Items)
{
if (lt.Selected)
{
sheet.Cells[st[i] + "1"].PutValue(lt.Text);
if (lt.Value != "constructionUnits")
{
column += lt.Value + ",";
}
else
{
cont = "bumen";
}
i++;
}
}
int RowNo = 2;
string tys = "";
if (Request.QueryString["tys"] != null)
{
tys = viewdepart;
}
//读取数据库
DataTable dt = dpl.GetToEduce(column, mp, tys, cont);
for (int j = 0; j < dt.Rows.Count; j++)
{
sheet.Cells[st[0] + RowNo].PutValue((j+1).ToString());
for (int n = 1; n <= dt.Columns.Count; n++)
{
sheet.Cells[st[n] + RowNo].PutValue(dt.Rows[j][n-1].ToString());
}
RowNo++;
}
String filename = string.Format("{0}{1}.xls", "saleranklist", Convert.ToDateTime(DateTime.Now).ToString("yyyyMMdd")); //文件默认命名方式,可以自定义
Response.ContentType = "application/ms-excel;charset=utf-8";
Response.AddHeader("content-disposition", "attachment; filename=" + filename);
System.IO.MemoryStream memStream = workbook.SaveToStream();
Response.BinaryWrite(memStream.ToArray());
Response.End();