Tag: apache poi

用Java创buildExcel图表

我一直在使用Apache POI来创build和修改Excel电子表格,但是我想知道是否有一种方法(即使它是用不同的库,最好是开源的)在Excel中以新的xlsx格式创build图表。 它看起来像POI有一个HSSFChart,但我相信这是旧的格式(请纠正我,如果我错了)。 有没有人使用Java解决scheme在Excel中创build图表?

使用java编写巨大的excel文件的API

我正在寻找使用Java以编程方式写入Excel(.xls MS Excel 2003格式)文件。 Excel的输出文件可能包含约200,000行,我打算分割的张数(每页64k行,由于Excel的限制)。 我已经尝试使用Apache POI API,但由于API对象模型,它似乎是一个内存猪。 我不得不将单元格/工作表添加到内存中的工作簿对象,并且只有添加了所有数据后,才可以将工作簿写入文件! 下面是apache如何使用API​​编写excel文件的示例: Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet("new sheet"); //Create a row and put some cells in it Row row = sheet.createRow((short)0); // Create a cell and put a value in it. Cell cell = row.createCell(0); cell.setCellValue(1); // Write the output to a file […]

在Apache POI中使用Excel模板

基本问题:如何加载Excel模板以便与POI一起使用,然后将其保存到XLS文件中? 编辑: 答案是: FileInputStream inputStream = new FileInputStream(new File(templateFile)); Workbook workbook = new HSSFWorkbook(inputStream); (只需将模板作为工作簿加载,然后将工作簿作为其他位置的XLS文件写入。)

POI / Excel:以“相对”方式应用公式

我正在使用Apache的POI来操纵Java(.xls)文件。 我试图创build一个新的单元格,其内容是公式的结果,就好像用户复制/粘贴公式(我称之为“相对”方式,与“绝对”相反)。 为了让自己更清楚,下面是一个简单的例子:单元格A1包含“1”,B1包含“2”,A2包含“3”,B2包含“4”。 单元格A3包含以下公式“= A1 + B1”。 如果我将公式复制到excel下的A4单元格中,则变成“= A2 + B2”:excel是dynamic调整公式的内容。 不幸的是,我不能以编程方式得到相同的结果。 我find的唯一解决办法是标记公式,自己做肮脏的工作,但是我真的怀疑这应该是这样做的。 我无法在指南或API中find要找的内容。 有没有更简单的方法来解决这个问题? 如果是这样的话,你能指点一下正确的方向吗? 最好的祝福, 尼尔斯

如何加快自动化apache POI的列?

我使用下面的代码来自动化电子表格中的列: for (int i = 0; i < columns.size(); i++) { sheet.autoSizeColumn(i, true); sheet.setColumnWidth(i, sheet.getColumnWidth(i) + 600); } 问题是在超过3000行的大型电子表格中,每个列需要10多分钟的时间自动resize。 尽pipe小文件的速度非常快。 有什么可以帮助autosizing更快地工作吗?

在使用Apache POI的Excel单元格中编写数字

如何在poi的帮助下在单元格中写下我的全部价值? 即如果值是1000.000,那么我怎样才能写这个完整的值,而不会截断“000”后的000。 有POI? 意味着我想要充分的价值。 在我的情况下,只需要1000,但这是不正确的格式。

使用apache poi 3.7多次写入xlsx文档时出现exception

尝试使用Apache POI编写.xlsx文件时出现以下exception: org.apache.xmlbeans.impl.values.XmlValueDisconnectedException 这似乎是第二次使用方法write()的问题。 当处理这个问题的HSSFWorkbook不会出现。 代码如下: public class SomeClass{ XSSFWorkbook workbook; public SomeClass() throws IOException{ File excelFile = new File("workbook.xlsx"); InputStream inp = new FileInputStream(excelFile); workbook = new XSSFWorkbook(inp); inp.close(); } void method(int i) throws InvalidFormatException, IOException { XSSFSheet sheet = workbook.getSheetAt(0); XSSFRow row = sheet.getRow(i); if (row == null) { row = sheet.createRow(i); } […]

POIperformance

我在我的J2EE Web应用程序中使用POI来生成工作簿。 但是,我发现POI需要大约3分钟来创build一个25K行的工作簿(每列大约15列)。 这是一个POI的性能问题,还是花了很多时间是合理的? 是否有其他的API更好的性能?

使用apache poi更改单元格颜色

我正在使用Apache POI来读取零件编号电子表格中的数据。 我在数据库中查找零件编号,如果我们有一个零件编号单元格绿色的零件的CAD图纸,如果我们不把它颜色为红色。 处理完成后,电子表格被保存。 我遇到的问题是该列中的每个单元格都是绿色的。 我已经通过代码,查找部件号的逻辑工作正常,并确定单元格应该是什么颜色的逻辑,设置颜色和填充似乎也工作。 任何想法我在这里做错了吗? 谢谢。 //Check the parts for(int r=1;r<sheet.getPhysicalNumberOfRows();r++) { String partNumber = null; switch(cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC: long pNum = (long) cell.getNumericCellValue(); partNumber = String.valueOf(pNum); break; case HSSFCell.CELL_TYPE_STRING: partNumber = cell.getStringCellValue(); break; default: logger.info("Part Number at row " + r + " on sheet " + partList.getSheetName(s) + "is of […]

有没有Apache POI的Scala包装?

我想使用Apache POI在Scala应用程序中读取/创buildExcel文件。 当然,我可以直接使用POI库,毕竟它是Java,但我希望有Scala的感觉。 那么是否有一个Scala包装带来了斯卡拉的感觉(使用隐式转换),也就是某种“Scala-POI-DSL”可以免费获得?