• 使用NPOI随意创建Excel(含下拉列表)


     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();
  • 相关阅读:
    USES_CONVERSION的使用和注意
    UniCode 下 CString 转 char* 的方法
    mfc获取控件在对话框上的位置
    MFC的CListCtrl双击获取单元格的行列
    MFC总结之CListCtrl用法及技巧(二)
    python(19)编码问题
    xpath提取目录下所有标签内的内容,递归 //text()
    Linux命令(14)文件和文件夹权限管理:chmod
    linux命令(13) 删除指定文件夹下后缀名相同的文件
    git(5) windows下 pycharm + git(github) ,在本地方便管理
  • 原文地址:https://www.cnblogs.com/myblogslh/p/4422203.html
Copyright © 2020-2023  润新知