Я использую Apache POI в java для создания файла excel. Я заполняю данные, затем пытаюсь автоматизировать каждый столбец, однако размеры всегда ошибочны (и I думаю,). Первые две строки всегда (?) Полностью рушились. Когда я автоматически сортирую столбцы в excel, он работает отлично.Apache POI autoSizeColumn Неправильно изменен
Никаких пустых ячеек не написано (я считаю), а изменение размера последнее вещь сделаю.
Вот соответствующий код: Это сводились версия без обработки ошибок и т.д.
public static synchronized String storeResults(ArrayList<String> resultList, String file) {
if (resultList == null || resultList.size() == 0) {
return file;
}
FileOutputStream stream = new FileOutputStream(file);
//Create workbook and result sheet
XSSFWorkbook book = new XSSFWorkbook();
Sheet results = book.createSheet("Results");
//Write results to workbook
for (int x = 0; x < resultList.size(); x++) {
String[] items = resultList.get(x).split(PRIM_DELIM);
Row row = results.createRow(x);
for (int i = 0; i < items.length; i++) {
row.createCell(i).setCellValue(items[i]);
}
}
//Auto size all the columns
for (x = 0; x < results.getRow(0).getPhysicalNumberOfCells(); x++) {
results.autoSizeColumn(x);
}
//Write the book and close the stream
book.write(stream);
stream.flush();
stream.close();
return file;
}
Я знаю, что есть несколько вопросов, которые там похожи, но большинство из них просто случай перед заполнением данных. И немногие, которые не являются более сложными/без ответа.
EDIT: Я пробовал использовать пару разных шрифтов, и это не сработало. Это не слишком удивительно, поскольку независимо от того, какой шрифт либо все столбцы должны быть полностью свернуты, либо ни один из них не должен быть.
Кроме того, поскольку этот вопрос шрифт придумал, я запустить программу на Windows 7.
РЕШИТЬ: Это был вопрос шрифта. Единственным шрифтом, который я нашел, который работал, был Serif.
Вы проверили эти два вопроса? [1] (http://stackoverflow.com/questions/11573993/setting-column-width-in-apache-poi/11574647), [2] (http://stackoverflow.com/questions/7412457/crash-when -calling-autosizecolumn-on-worksheet-when-run-under-linux-servicemix/12517025 # 12517025) ... у него, вероятно, есть что-то делать с используемым шрифтом – kiwiwings
@kiwiwings Я использую шрифт по умолчанию (Calibri), который находится в Windows просто хорошо. Я попробую изменить шрифт на что-то еще и опубликовать результаты, но я не думал, что это будет шрифт. – Jaws212
Можете ли вы попробовать использовать шрифт 'Serif' (или проверить, есть ли у вас), и посмотреть, работает ли это? У меня такое чувство, что это связано с тем, что Java знает. – Shaded