我使用NPOI(.net版本的java - Apache POI)创建了excel表。我需要添加一些下拉列表,但我发现无论我传入哪个列表,它总是用逗号分割项目值,从而创建一个新行。在任何机会,你知道如何避免这种情况发生吗? 这是我的代码
CellRangeAddressList cellRange = new CellRangeAddressList(cell.RowIndex,
cell.RowIndex, cell.ColumnIndex, cell.ColumnIndex);
DVConstraint constraint = DVConstraint.CreateExplicitListConstraint(new string[]
{"$400","$1,900"});
HSSFDataValidation validation = new HSSFDataValidation(cellRange, constraint);
validation.SuppressDropDownArrow = false;
sheet.AddValidationData(validation);
答案 0 :(得分:0)
在将值传递给约束时,您只需传递没有逗号的值和$ sign这样的
DVConstraint constraint = DVConstraint.CreateExplicitListConstraint(new string[]{"400","1900"});
以及格式化方法将在下拉列表中处理值的出现
XSSFCellStyle yourCellStyle = (XSSFCellStyle)workbook.CreateCellStyle();
XSSFDataFormat yourDataFormat = (XSSFDataFormat)workbook.CreateDataFormat();
yourCellStyle.SetDataFormat(yourDataFormat.GetFormat("$#,###.00"));
sheet.SetDefaultColumnStyle(col, yourCellStyle);