Tag: apache poi

在Excel中查找合并单元格,拆分单元格并将它们写入新电子表格中?

我已经给了一个Assignment,我需要拆分电子表格的数据,并将其写入新的电子表格。 条件是,鉴于电子表格可能有多个合并单元格的数量,我需要find这些合并的单元格,并在新的电子表格中写入这些数据。 即一个合并单元格之间的数据或单元格直到另一个合并单元格必须写入另一个电子表格。 我的努力守则如下, import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class CopyTest { public static void main(String[] args) throws IOException { CopyTest excel = new CopyTest(); excel.process("D:\\B3.xls"); } public void process(String fileName) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fileName)); HSSFWorkbook […]

Apache POI。 在Excel中设置数据filter

我一直在使用Apache POI,并且效果很好,但是我无法find关于库中filter支持的可靠答案。 作为参考,我的意思是在Excel中的数据选项卡中可用的filter选项,它允许您在列标题中显示列的所有唯一值作为combobox。 我知道已经有一个关于它生成Excel中的问题,这个问题被问到的问题。 而且我看到Apache POI人员最近检查了这个https://issues.apache.org/bugzilla/show_bug.cgi?id=35125 有没有人使用POI新版本来尝试filter选项? 由于等待POI的最终版本可能不适合我们,任何人都可以指出其他的Excel Java API允许这个选项(JExcel没有我发现)。 我看到许多网站允许出口过滤可用。 如果没有好的API来提供它,是否有任何其他方式或Excel的后处理,我可以做,添加此选项 对不起,重复的问题,但我看不到任何其他方式来解决我的问题,而不是接近stackoverflow社区

Apache POI:SXSSFWorkbook.dispose()不存在

我使用Apache的POI API来编写XLSX文件。 由于我需要编写大文件,因此我正在使用Streaming API(SXSSF)。 要做到这一点,我遵循本指南。 请注意,在示例的结尾处有一个呼叫 wb.dispose 这个wb实例引用了一个SXSSFWorkbook实例。 我在我的代码中使用相同的,但它抱怨不存在的处置方法。 我下载了源代码,方法不在那里。 然而,去他们的SVN和检查类的代码,我们可以看到在那里的方法: https://svn.apache.org/repos/asf/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java 我已经尝试重新编译他们的代码,但我得到了很多错误…

如何从Java中的Apache POI库调用macros?

我有 : 名为“process”的macros为我的工作表执行所有处理工作。 我想要使​​用Apache POI的Java代码来调用这个macros,以便它可以为我处理表单。 如何在Java中的Apache POI中调用macros? :: 注意 :: 我在Apache POI中使用import org.apache.poi.ss.usermodel 。 请给出示例代码。 (我是Apache POI和Java本身的新手。)

在Excel中的Apache-POIsorting行

我想通过一个string列排列表中的行。 我试图实现使用Sheet.shiftRows方法,但我无法pipe理。 它不会在我的方法中切换行的位置。 我的代码有什么问题? 或者也许有更好的方法来sorting在Excel中的任何string列的行? /** * Sorts (AZ) rows by String column * @param sheet – sheet to sort * @param column – String column to sort by * @param rowStart – sorting from this row down */ private void sortSheet(Sheet sheet, int column, int rowStart) { boolean sorting = true; int lastRow = […]

apache poi将一种风格应用于不同的工作簿

我正尝试将一种单元格样式应用于不同的woekbook。 它运行良好,当我将它应用到第一个工作簿,但是当我试图用第二个和下一个工作簿来做到这一点 – 没有应用样式,并引发下面的exception。 Exception in thread "Thread-3" java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook Stlyes Source. Are you trying to assign a style from one workbook to the cell of a differnt workbook? at org.apache.poi.xssf.usermodel.XSSFCellStyle.verifyBelongsToStylesSource(XSSFCellStyle.java:118) at org.apache.poi.xssf.usermodel.XSSFCell.setCellStyle(XSSFCell.java:500) at CoreLayer.ExportManager.ExcelExproter.applyStyle(ExcelExproter.java:224) at CoreLayer.ExportManager.ExcelExproter.groupSchedule(ExcelExproter.java:47) at UILayer.ExportDialog$ExportWorker.run(ExportDialog.java:111) at java.lang.Thread.run(Thread.java:722) 使用以下代码: public void professorSchedule(Professor professor) { […]

在ApachePOI中使用什么来代替弃用的CellRangeAddress.valueOf

我想在该地区添加条件格式,但我在教程中看到的一种方法已被弃用。 用什么来代替它。 样品: ConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingRule(ComparisonOperator.LT, "50"); PatternFormatting fill2 = rule2.createPatternFormatting(); fill2.setFillBackgroundColor(IndexedColors.GREEN.index); fill2.setFillPattern(PatternFormatting.SOLID_FOREGROUND); CellRangeAddress[] regions = { CellRangeAddress.valueOf("A1:A6") //DEPRECATED }; sheetCF.addConditionalFormatting(regions, rule);

POI自动filter

如何使用Apache POI预先定义Excel 2007文档中的自动筛选区域? 一个小的代码示例或链接将是很好的。

Excel公式不更新单元格

我正在使用Apache POI更改Excel表格中的单元格。 在更改值之后,具有已更改的单元格的公式的单元格不会更新。 当我进入excel并用公式单击单元格,然后单击function栏中的公式更新。 我有计算选项设置为自动更新。 快速示例。 行: [A2 + A3] [1] [2] 这里A1等于3 当我使用POI更改它时: [A2 + A3] [2] [5] A1仍然等于3,直到我点击该单元格。 刷新工作簿或工作表也不起作用。 这是Excel或POI的问题吗? 任何人都可以想到一个解决方法?

为什么我不能在Apache POI中将一个工作簿链接到另一个工作簿?

我有一个工作簿,里面有一些数据。 我正在使用该工作簿,并根据其他工作簿中的数据创build另一个工作簿,并在其中包含折线图。 代码运行良好,但每当我打开graphics文件,我得到的警告We can't update some of the links in your workbook right now 。 如果我单击警告菜单中的“ Edit Links…button,将显示无法find数据工作簿。 如果我点击Change Source… ,然后select正确的工作簿,那么工作正常。 为什么是这样? POI能否保留两个文件之间的链接? 我的代码: 创build数据工作簿: public static XSSFWorkbook createDataSpreadsheet(String name, long[] data) { XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet(name); int rowNumber = 0; for(int i = 1; i < data.length + 1; […]