草庐IT

java - 使用 apache poi 写入 xlsm (Excel 2007)

我已经编写了用于编写xlsm(Excel2007)的java文件。使用ApachePOI库,写xlsx文件成功。并且写入xlsm文件是成功的。但我无法打开xlsm文件,因为打开xlsm文件时出错。使用ApachePOILibrary编写xlsm文件是否可行?如果编写xlsm可行,请提供指南如何使用Apachepoi库编写xlsm文件。XSSFWorkbookworkBook=newXSSFWorkbook();XSSFSheetsheet=workBook.createSheet("Related_SRC");StringrealName="Test.xlsm";Filefile=ne

java - Apache POI autoSizeColumn() 无法正常工作

这个问题在这里已经有了答案:ApachePOIautoSizeColumnResizesIncorrectly(10个答案)关闭9年前。我正在创建一个使用apachepoi将信息写入excel文件的程序。在我将所有数据输入文件后,我在文件的每一列上调用autoSizeColumn方法。但它将列的大小调整为最后输入的单元格的宽度,有时不如列中的其他单元格大。我知道我正在正确使用它,不幸的是我现在没有互联网来发布任何代码,但我会尽可能更新。好的,我希望我使用的是正确的代码标签,但它是:publicvoidwriteFile(){Workbookwb=newHSSFWorkbook();Sh

java - 更改使用 Apache POI 创建的临时文件的位置

我在读取.xlsx文件时遇到问题。每当我使用WorkbookFactory.create(inputStream);时,都会在/tmp/poifiles目录下创建一些随机名称的临时文件。此目录是为第一个用户创建的,具有RW-R-R-权限。所以当同一台机器上的另一个用户试图访问这些文件时,他不能。请给我任何建议1)如何在/tmp目录下而不是总是在/tmp/poifiles下创建这些临时文件(我使用的是RHELV5.0)2)以及如何配置POI,例如更改它读取临时文件的位置?迫切需要任何帮助来解决我的不同用户通过POI访问相同的.xlsx文件的问题。 最佳答案

java - 使用 poi api 从电子表格中读取时间值

我正在尝试从电子表格中读取日期列和时间列。我可以从工作表中删除日期列,但不能删除时间列。例如,我的工作表将包含以下形式的行:日期时间11/2/201212:15:01我有以下代码来获取日期列:while(cellIterator.hasNext()){HSSFCellcell=(HSSFCell)cellIterator.next();switch(cell.getCellType()){caseHSSFCell.CELL_TYPE_NUMERIC:HSSFCellStylestyle=cell.getCellStyle();if(HSSFDateUtil.isCellDateForm

java - 使用 Apache POI 从 Word 文档中提取段落

我有一个word文档Docxfile正如您在word文档中看到的那样,有许多带有BulletPoints的问题。现在我正在尝试使用apachePOI从文件中提取每个段落。这是我当前的代码publicstaticStringreadDocxFile(StringfileName){try{Filefile=newFile(fileName);FileInputStreamfis=newFileInputStream(file.getAbsolutePath());XWPFDocumentdocument=newXWPFDocument(fis);Listparagraphs=docume

java - Apache POI Word 教程。

有人知道有关使用ApachePOI库处理MSWord的优秀教程吗?我想了解如何创建word文档.doc(或者我可能需要创建模板.dot)来创建变量,例如${customer.name}insidedocs(templates),然后通过Range.replaceText("${customer.name}","MicrosoftCO");或者${customer.name}不是变量,只是纯文本(为了更清楚起见,命名为变量名)?我也没有找到关于在POI中使用表格的教程。事实上,我有.doc文档,我需要在其中替换一些变量,例如姓名、姓氏,而且我还需要用一些值填充表格。

java - Apache POI 在 xls 文档打开后设置选定的单元格

我们有下一种情况:我们的系统有xls格式的数据导出,这是一个包含许多行和列的巨大文件。在用户下载并打开文档后,他看到文档滚动到最后一列和最后一个电子表格选项卡。这很烦人,最好将焦点放在第一个选项卡和第一个单元格上。我做了简单的测试代码,看看它是如何工作的:publicclassSelectionTest{publicstaticStringfile="/usr/test/poi.test/src/main/resources/test";@Testpublicvoidtest()throwsFileNotFoundException,IOException{HSSFWorkbookwb

java - 如何使用 apache poi 设置 word 文档的页边距?

我想为使用apachepoi-3.9创建的word文档设置页边距。我发现可以使用CTPageMar来完成但是CTPageMar没有被解析。我正在使用apachepoi-3.9我试过了CTSectPrsectPr=document.getDocument().getBody().addNewSectPr();CTPageMarpageMar=sectPr.addNewPgMar();pageMar.setLeft(BigInteger.valueOf(720L));pageMar.setTop(BigInteger.valueOf(1440L));pageMar.setRight(Big

java - 使用 Apache POI 检测所需的打印方向

我正在使用ApachePOI创建xls电子表格。有没有办法检测数据是否适合纵向模式,或者我是否必须将工作表设置为横向模式?我知道如何设置模式,但我不知道如何确定数据是否适合当前的打印方向。 最佳答案 HSSFPrintSetupprintSetup=sheet.getPrintSetup();sheet.getPrintSetup().setFitWidth((short)1);sheet.getPrintSetup().setFitHeight((short)0);sheet.setAutobreaks(true);printSe

java - Apache POI autoSizeColumn 将大小调整为最小宽度

在处理作为公式的值时,我很难让列正确地自动调整大小。我已经通过创建一个隐藏行来“解决”这个问题,该隐藏行的最大值作为常量字符串值,但这远非优雅,而且通常需要评估每个单元格中的公式以获得生成的最大字符串。虽然这种方法适用于这么小的电子表格,但对于~16列x~6000行的工作表就变得非常不切实际。以下代码在OpenOffice中呈现。packagecom.shagie.poipoc;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.ss.usermodel.*;importjava.io.FileOu