我需要使用Apache POI在excel文件中创建一个下拉列表.我能够做到这一点但是我无法将下拉列表中的第一项作为默认项目.
public class sd {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
DataValidation dataValidation = null;
DataValidationConstraint constraint = null;
DataValidationHelper validationHelper = null;
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet1=(XSSFSheet) wb.createSheet("sheet1");
validationHelper=new XSSFDataValidationHelper(sheet1);
CellRangeAddressList addressList = new CellRangeAddressList(0,5,0,0);
constraint =validationHelper.createExplicitListConstraint(new String[]{"SELECT","10", "20", "30"});
dataValidation = validationHelper.createValidation(constraint, addressList);
dataValidation.setSuppressDropDownArrow(true);
sheet1.addValidationData(dataValidation);
FileOutputStream fileOut = new FileOutputStream("c:\\temp\\vineet.xlsx");
wb.write(fileOut);
fileOut.close();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Apache POI 为一个单元格添加一个下拉列表。下拉列表包含 302 个字符串。我总是收到这个错误:Excel 在 test.xlsx 中发现不可读的内容。
然后我做了下面的测试。当项目数 <=88 时,下拉列表创建成功。当数字> 88时,打开excel文件时出现错误并且没有下拉列表。
谢谢 !!!
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.ss.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
TreeSet<String> temp_rxGroups = new TreeSet<String>();
for (int i = 0; i < 100; i++) {
temp_rxGroups.add("" + i);
}
String[] countryName = temp_rxGroups.toArray(new String[temp_rxGroups.size()]);
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet realSheet = workbook.createSheet("realSheet");
XSSFSheet hidden = workbook.createSheet("hidden");
for (int i = 0, length= …Run Code Online (Sandbox Code Playgroud)