Tag: apache poi

使用java创buildExcel表格时遇到的问题

我试图打开一个现有的Excel文档,并试图创build一个工作表并将数据插入单元格。 当我在eclipse中编译我的代码时,我没有得到任何错误,但是当我运行我的代码时,它不影响Excel文档。 这是我的代码 import java.io.*; import java.io.FileInputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; 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.ss.usermodel.*; import java.io.File; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.JFrame; import javax.swing.JButton; public class test{ test() { JFrame f = new JFrame("Pay Slip Generator"); f.setVisible(true); f.setSize(500, 300); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setLayout( new FlowLayout() ); JButton choose_file […]

Apache POI可以处理的excel文件大小是否有限制?

我正在使用Apache POI来创build一个Excel工作表,并通过Java程序将数据写入它,并在不同的Java程序中读取相同的文件。 我听说Apache POI可以处理最大1 MB的大小? 我对吗? 如果是,那么这有什么select呢?

用testNG读取selenium中的excel数据

我是selenium新手,仍在学习。 我正在尝试用两个testing在TestNG中编写一个程序,以便从Excel中读取数据,并使用Apache POI编写。 我在同一个文件夹中有一个XLS和一个XLSX文件,并试图使用这两个文件。 我期待在testng.xml中configurationexcels的path和名称。 当我执行我的第一个testing来读取数据时,表名正在被读为xml。 以下是我的testng.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite" parallel="tests" thread-count="2"> <parameter name="filePath" value="C:\\Technologies\\Selenium\\WebDriver\\DataFiles\\ExcelFiles"></parameter> <test name="Xlsx"> <parameter name="fileName" value="12142015_sx.xlsx"></parameter> <parameter name="sheetName" value="xlsx_1"></parameter> <classes> <class name="handlefiles.handleExcel"/> </classes> </test> <test name="Xls"> <parameter name="fileName" value="12142015_s.xls"></parameter> <parameter name="sheetName" value="xls_1"></parameter> <classes> <class name="handlefiles.handleExcel"/> </classes> </test> <!– Test –> </suite> <!– Suite –> 下面是java类代码。 […]

poi不能将数据写入.xlsx

问题是当我试图写入数据到单元格中时,单元格还没有被创build,或者只是没有显示数据。 例如, Row[] rownames = new Row[names.size()]; for(int i = 0; i < names.size(); i++){ rownames[i] = sheet.createRow(i+3); Cell machine = rownames[i].createCell(0); machine.setCellType(Cell.CELL_TYPE_STRING); machine.setCellValue(names.get(i).toString()); } names[]是一个包含名称列表的数组。 Cell machine = rownames[i].createCell(0); 在(i + 3,0)处创build一个单元格,其中i表示行。 machine.setCellValue(names.get(i).toString()); 将单元格值设置为相应的名称[i]。 我尝试打印names[]和machine.getStringCellValue() ,他们都可以返回确切的正确数据(如输出到控制台)。 但在xlsx文件中没有任何内容。 提前谢谢了。 编辑:让我更清楚地解释,所以如果一切顺利,这个xlsx文件的部分应该是这样的: harry | (row 3, col 0) kate | (row 4, col 0) jim | (row […]

在Android中使用Apache POI时的兼容性问题

我在使用Apache POI时遇到以下问题 Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_31\bin\java.exe'' finished with non-zero exit value 2 我在我的gradle依赖项中添加了下面的仓库。 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' compile 'org.apache.poi:poi:3.14-beta1' compile 'org.apache.poi:poi-ooxml:3.14-beta1' } 我也testing了从poi版本3.9 。 但每次我都遇到同样的问题。 如果我评论 compile 'org.apache.poi:poi-ooxml:3.14-beta1' 应用程序无任何例外地运行 任何帮助解决这个问题将不胜感激。

设置背景自定义颜色不适用于Apache POI中的XSSF

我写了应该创build一个Excel文件(xlsx或xls)的代码,并为单元格设置一个自定义背景颜色。 在创buildxls文件时,背景色可以正常工作,但在xlsx的情况下,背景色不会设置为正确的颜色。 我的代码有什么问题? public class PoiWriteExcelFile { static Workbook workbook; static Sheet worksheet; public static void main(String[] args) { try { String type = "xlsx"; //xls FileOutputStream fileOut = new FileOutputStream("D:\\poi-test." + type); switch (type) { case "xls": workbook = new HSSFWorkbook(); break; case "xlsx": workbook = new XSSFWorkbook(); break; } CellStyle cellStyle = workbook.createCellStyle(); […]

在Excel中将单元格拆分为string – Apache POI JAVA

我有一个像这样的excel文件。 寻找一种方法将col1细胞分成不同的部分(物品中的物品)。 col1 col2 col3 col4 —————————– row1 | 2,3,1 _ 1 w row2 | 3,2,7 _ 2 x row3 | _ _ 3 y row4 | 4,9 _ 4 z 码: import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; public class Expy { public static void main(String[] args) { try { FileInputStream file = new FileInputStream(new File("C:\\Users\\…\\Bioactives25s.xlsx")); XSSFWorkbook […]

评估Workbook对象中的所有公式

我想要评估Workbook对象中的所有公式。 我知道有XSSFFormulaEvaluator和HSSFFormulaEvaluator用于评估XSSFWorkbook和HSSFWorkbook中的公式。 但是工作簿对象我已经属于Workbook类。 我可以使用这样的东西, XSSFFormulaEvaluator.evaluateAllFormulaCells((XSSFWorkbook) workbook); 可以使用这个评估器吗? 它是否有任何负面影响的工作簿到XSSFWorkbook?

使用Apache POI评估公式CELL时出现exception

尝试评估工作簿中的所有单元格时遇到以下exception。 我使用Apache poi版本3.13。 公式是CELL(“文件名”) org.apache.poi.ss.formula.eval.NotImplementedFunctionException: CELL 有什么办法可以使它工作吗? 还是有其他的方法可以给我同样的结果吗?

openxml和Excel 15位数字限制

我正在使用从Apache的POI从一个Java程序中的Excel文件中读取。 excel有我在Java中复制的macros,但是当我比较结果时,我试图尽可能地根除小的舍入差异。 在下载POI 3.13的代码并在debugging模式下运行之后,我意识到他们没有处理像Excel这样的数字,它只使用了15位数字,之后添加了非重要的0,而是使用17位数的表示。 你可以在这里看到。 但更深入的,似乎POI使用openxml和openxml单元格已经存储在17个数字而不是15浮点数…所以在我看来,在openxml中处理数量有一个错误,但我很惊讶那些“大”的处理浮点数的东西以前没有被发现过,因为我找不到任何关于这个的东西。 所以我的问题:是否有一个解决scheme,以获得完全相同的15位数字的Excel使用兴趣点? 而且更好的办法就是可以在这个问题上改正Excel的行为?