1 //创建工作簿
2 HSSFWorkbook ssfworkbook = new HSSFWorkbook();
3 //创建工作表(页)
4 HSSFSheet sheet1 = ssfworkbook.CreateSheet("Sheet1");
5 //创建一行
6 HSSFRow headerRow = (HSSFRow)sheet1.CreateRow(0);
7 //设置表头
8 headerRow.CreateCell(0).SetCellValue("ID");
9 //设置表头的宽度
10 sheet1.SetColumnWidth(0, 15 * 256);
11 #region 添加显示下拉列表
12 HSSFSheet sheet2 = ssfworkbook.CreateSheet("ShtDictionary");
13 ssfworkbook.SetSheetHidden(1, true);//隐藏
14 sheet2.CreateRow(0).CreateCell(0).SetCellValue("itemA");//列数据
15 sheet2.CreateRow(1).CreateCell(0).SetCellValue("itemB");
16 sheet2.CreateRow(2).CreateCell(0).SetCellValue("itemC");
17 HSSFName range = ssfworkbook.CreateName();//创建名称
18 range.Reference = "ShtDictionary!$A$1:$A$3";//格式
19 range.NameName = "dicRange";
20 #endregion
21 headerRow.CreateCell(1).SetCellValue("Selected");
22 sheet1.SetColumnWidth(1, 15 * 256);
23 //将下拉列表添加
24 CellRangeAddressList regions = new CellRangeAddressList(1, 65535, 1, 1);
25 DVConstraint constraint = DVConstraint.CreateFormulaListConstraint("dicRange");
26 HSSFDataValidation dataValidate = new HSSFDataValidation(regions, constraint);
27 sheet1.AddValidationData(dataValidate);
28
29 headerRow.CreateCell(2).SetCellValue("VALUE");
30 sheet1.SetColumnWidth(2, 15 * 256);
31
32 //写入数据
33 //创建数据行
34 HSSFRow dataRow = (HSSFRow)sheet1.CreateRow(1);
35 //填充数据
36 dataRow.CreateCell(0).SetCellValue("1");//id
37 dataRow.CreateCell(1).SetCellValue("");//选择框
38 dataRow.CreateCell(2).SetCellValue("值");//选择框
39 System.IO.MemoryStream ms = new System.IO.MemoryStream();
40 ssfworkbook.Write(ms);
41 string filename = "Sheet1" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + ".xls";
42 Response.AddHeader("Content-Disposition", string.Format("attachment; filename=" + filename + ""));
43 Response.BinaryWrite(ms.ToArray());
44 ms.Close();
45 ms.Dispose();