Tag: apache poi

如何使用Apache POI 3.6在Excel表格中获得超过255列

我在Excel中创build一个日历。 第1列是01.01.2010(dd.MM.yyyy),第2列是02.01.2010等等。 这是我的代码: int day_cell = 0; for(int i = 0; i < days.size(); i++) { Date day = days.get(i); HSSFCell cell = row.createCell(day_cell++); cell.setCellValue(day.toString()); } 当我到达第256栏时,POI引发这个exception: java.lang.IllegalArgumentException: Invalid column index (256). Allowable column range for BIFF8 is (0..255) or ('A'..'IV') at org.apache.poi.hssf.usermodel.HSSFCell.checkBounds(HSSFCell.java:926) at org.apache.poi.hssf.usermodel.HSSFCell.<init>(HSSFCell.java:162) at org.apache.poi.hssf.usermodel.HSSFRow.createCell(HSSFRow.java:141) at org.apache.poi.hssf.usermodel.HSSFRow.createCell(HSSFRow.java:119) 我发现这个bug报告表明它已经在3.6版本中修复了。 我们使用3.5,但改为3.6似乎没有任何好处。 任何人有任何提示? https://issues.apache.org/bugzilla/show_bug.cgi?id=46806 编辑:似乎错误问题是关于公式..

如何使用POI处理旧的excel .xls文件?

由于POI有更多的function,我从jxl切换到poi。 但是,我无法处理以旧格式生成的xls文件。 现在我得到这个错误: org.apache.poi.hssf.OldExcelFormatException:提供的电子表格似乎是Excel 5.0 / 7.0(BIFF5)格式。 POI仅支持BIFF8格式(从Excel版本97/2000 / XP / 2003) 现在我正在考虑使用两个JXL以及POI,这取决于xls版本,因此对于旧格式的xls文件,我将使用jxl,而对于新版本,我将使用POI。 这是一个很好的解决scheme? 有没有其他的select?

使用apache poi合并和排列中心单元格

我想用Apache poi将数据导出为ex​​cel。 现在我面临的问题是我无法合并行并将它们alignment在中心。 导出数据的代码是 List<LinkedHashMap<String,Object>> lstReportHeader = null; HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); //Set Header Font HSSFFont headerFont = wb.createFont(); headerFont.setBoldweight(headerFont.BOLDWEIGHT_BOLD); headerFont.setFontHeightInPoints((short) 12); //Set Header Style CellStyle headerStyle = wb.createCellStyle(); headerStyle.setFillBackgroundColor(IndexedColors.BLACK.getIndex()); headerStyle.setAlignment(headerStyle.ALIGN_CENTER); headerStyle.setFont(headerFont); headerStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM); int rowCount= 0; Row header; header = sheet.createRow(0);//its for header Cell cell ;//= header.createCell(0); for(int j = […]

如何更改特定单元格的颜色apache poi 3.9

我可以在apache POI中使用以下代码更改前景色。 现在我想改变单个单元格的字体颜色。 CellStyle style = wb.createCellStyle(); style.setFillForegroundColor(IndexedColors.GREEN.getIndex()); style.setFillPattern(CellStyle.SOLID_FOREGROUND); cell = rowxl.createCell((short) 7); cell.setCellValue(" <<<<ONTRACK>>>>"); cell.setCellStyle(style); rowxl.createCell(0).setCellValue(TEAM); 我已经尝试过,但它不会改变前两列的颜色 码: public class fclr { public static void main(String[] args) throws Exception { InputStream inp = new FileInputStream("c:/workbook1.xls"); Workbook wb = WorkbookFactory.create(inp); CreationHelper createHelper = wb.getCreationHelper(); Sheet sheet = wb.getSheetAt(0); Row rowxl = sheet.createRow((short)0); Cell cell = […]

解决XSSFWorkbook问题 – Java – POI .jar

我正在尝试升级Java应用程序来处理.xlsx,使用比现有的POI库更新的POI库。 我遇到的问题类似于评论中提到的问题: Apache POI,同时使用XSSF和HSSF 我指向新的ss.usermodel,但它一直告诉我它无法parsingXSSF工作簿声明: Workbook xlsImport = new XSSFWorkbook(); 我挖了一些他们的文档,看到XSSFWorkbook不是org.apache.poi.ss.usermodel的一部分。 这是org.apache.poi.xssf.usermodel.XSSFWorkbook的一部分。 但是我没有poi.xssf导入。 我指着错误的东西吗? 我正在使用POI 3.7感谢您提供的任何帮助。

在POI中复制Excel工作表

有谁知道一种方法将工作表从一个工作簿复制到另一个使用兴趣点? Workbook类有一个cloneSheet方法,但似乎无法将克隆的表单插入到新的工作簿中? 如果没有一个API可以很容易的完成这个任务,那么是否有人有把所有数据(样式,列宽,数据等等)从一张表复制到另一张的代码? jxls有复制工作表的方法,但在工作簿之间复制时不起作用。

Excel单元格中的多行文本

我正在尝试写多行文本来优化单元格。 cell.setCellValue("line1 \n line2"); 但是,当我打开文档时,我只看到一行,直到我双击它进行编辑,然后变成两行。 为什么这样? 谢谢

自动调整Apache POI中行的大小高度

我使用Apache POI将值input到电子表格中。 这些值有换行符,我可以成功地使用这个代码: CellStyle style = cell.getCellStyle() style.setWrapText(true) cell.setCellStyle(style) 不幸的是,虽然文本正确包装,行并不总是高度足以显示的内容。 我如何确保我的行总是正确的高度?

将边框添加到POI生成的Excel文件中的单元格

我正在使用POI来生成一个Excel文件。 我需要将边框添加到工作表中的特定单元格。 我怎样才能做到这一点?

使用Java获取给定excel中特定行的列数

我想要在Excel中的特定行的列数。 这怎么可能? 我使用POI API 但我只能得到列数到7。 try { fileInputStream = new FileInputStream(file); workbook = new HSSFWorkbook(fileInputStream); Sheet sheet = workbook.getSheet("0"); int numberOfCells = 0; Iterator rowIterator = sheet.rowIterator(); /** * Escape the header row * */ if (rowIterator.hasNext()) { Row headerRow = (Row) rowIterator.next(); //get the number of cells in the header row numberOfCells = headerRow.getPhysicalNumberOfCells(); […]