Tag: apache poi

如何在合并单元格poi java中插入值

我已经创build了新的行,然后合并两个单元格,然后我想获得这个合并单元格中的值 我的代码: sheet.createRow(1); HSSFRow row2 = sheet.getRow(1); HSSFCell cell = row2.getCell(1); cell.setCellValue("معلومات الطالب"); sheet.addMergedRegion(CellRangeAddress.valueOf("A2:B2")); 但我得到错误java.lang.NullPointerException

通过其内容获取单元格

有没有办法获取单元格对象或坐标单元格中​​包含的数据? 例如,如果坐标为(1; 5)的单元格包含string"FINDME" ,我想要做一些像Workbook.GetCellByData(“FINDME”),它应该返回Cell对象或(1; 5)。 我在Apache POI网站上find了一个可能有用的代码片段 。 我可以只读整个工作簿,并用IF语句查找数据,但是这样很脏… 编辑 :我已经编码的“脏”的解决scheme如下: public Cell getCellByContent(String data) { for (Row row : wb.getSheetAt(0)) { for (Cell cell : row) { if (cell.getCellType() == Cell.CELL_TYPE_STRING){ System.out.println(String.format("Found String type at (%s,%s) and read: %s", row.getRowNum(), cell.getColumnIndex(), cell.getStringCellValue())); if (cell.getStringCellValue() == data) { //HERE return cell; //HERE } //HERE } […]

Excel表单格式化使用Apache POI

我正在从使用Apache POI库的Java代码创build一个Excel报告。 格式化Excel单元格时遇到问题。 请在下面find一段代码。 XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet("coverageData"); int rownum = 0,cellnum=0; Row row1 = sheet.createRow(rownum++); Cell cell10 = row1.createCell(cellnum++); cell10.setCellValue("cell data"); XSSFCellStyle row1style = (XSSFCellStyle)cell10.getCellStyle(); XSSFColor grayColor = new XSSFColor(Color.DARK_GRAY); row1style.setFillBackgroundColor(grayColor); cell10.setCellStyle(row1style); try { //Write the workbook in file system FileOutputStream out = new FileOutputStream(new File("P:\\automation\\Spreadsheet.xlsx")); workbook.write(out); out.close(); System.out.println("Spreadsheet.xlsx […]

如何使用apache poi从excel中获得价值

我只是试图从Excel文件中获取每个单元格的值,但是我得到每个单元格已经合并,但我希望每个单元格不同 import java.io.File;import java.io.FileInputStream;import java.util.Iterator;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class Read { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { FileInputStream file = new FileInputStream(new File("D://new/excelnew/student_usr_mst_dtls.xlsx")); //Create Workbook instance holding reference to .xlsx file XSSFWorkbook workbook = new XSSFWorkbook(file); //Get first/desired sheet from the workbook […]

尝试使用Java Apache POI读取文本Excel单元格

我正在尝试读取可能具有以下格式的Excel单元格: 087 098 057 044 我试图做出以下几点: workbookSheet.getRow(row).getCell(columnItemId.getIndex()).setCellType(Cell.CELL_TYPE_STRING); String cell = workbookSheet.getRow(row).getCell(columnItemId.getIndex()) .getStringCellValue(); 问题是我得到没有零的数字,例如87而不是087。 有没有人解决过这样的事情?

如何在Java中执行Excel的“转换为数字”

我正在使用Apache POI从Excel读取数据。 我想在Java中读取时将一些单元格转换为数字,如下所示: Input 01.0234500 Output 1.02345 Input 412206362371 Output 4.12206E+11 Input 1234.201400002345 Output 1234.2014 当我在Excel中使用“转换为数字”时,它工作正常。 但是我想在读取Java中的Excel单元格的同时输出。 它也可以在Excel中使用=VALUE()函数来实现。 但是,我如何在Java中实现相同的function呢?

通过我的Google应用程序引擎应用程序上传大量的excel文件进​​行查询

我想通过我的Google应用程序引擎应用程序将大型的Excelfile upload到Bigquery。 现在我上传数据并使用POI读取数据,然后通过stream式插入将数据插入到Bigquery中。 这是不可能的,如果我使用这个更大的Excel文件,这肯定会超过60秒(DeadlineExceededexception)。 请build议正确的方法来完成这项任务。 提前致谢

多个评论apache poi

我正在尝试将多个注释分配给多个单元格。 当打开文件excel抱怨说:“Excel中发现不可读的内容…是否要恢复此工作簿的内容? 当我只有一个评论它的作品,2个或更多的评论失败。 看到我的代码如下: String oper = "OPERATION TO DO AFTER UPLOAD"; Cell c = row.createCell(0); c.setCellType(Cell.CELL_TYPE_STRING); c.setCellValue(oper); c.setCellStyle(headerStyle); CreationHelper factory = wb.getCreationHelper(); Drawing drawing = sh.createDrawingPatriarch(); //comment for operation ClientAnchor anchor = factory.createClientAnchor(); anchor.setCol1(c.getColumnIndex()); anchor.setCol2(c.getColumnIndex()+1); anchor.setRow1(row.getRowNum()); anchor.setRow2(row.getRowNum()+3); Comment comment = drawing.createCellComment(anchor); RichTextString str = factory.createRichTextString("Please note that UPDATE will translate to INSERT (if ENTITY_ID […]

Apache POI:获取一个string的数字,如在Excel中显示的那样

我试图用POIparsing一个excel工作簿。 在一张表中,我有一些数字显示为: 06 85 85 65 45 (这是一个法国电话号码,它总是以0开头,每两位有一个空格)。 我的需要是从零和空格的Excel单元格中获取一个string。 以下是我调查的一些内容: double doubleValue = cell.getNumericCellValue(); // worth 6.85856545E8 String dataStringFormat = cell.getCellStyle().getDataStringFormat(); // worth 0#" "##" "##" "##" "## 我想有一种POI API的方式将“dataStringFormat”应用于“doubleValue”以获得诸如06 85 85 65 45之类的东西。 任何人都有一个关于如何做到这一点的想法? 非常感谢你。 编辑:加格拉瓦尔把我的方式。 他的 DataFormatter fmt = new DataFormatter(); String phoneNumber = fmt.formatCellValue(cell); 仍然返回685856545,但我感谢他,我find了CellNumberFormatter类。 并用以下代码获取我的06 85 85 65 45: String stringFormat […]

在XSSFWorksheet和SXSSFWorksheet之间使用什么类更好?

我正在与struts2框架的j2ee项目工作,我需要读取和写入大型的150 MB的Excel文件。 那么我应该在XSSFWorksheet和SXSSFWorksheet类之间使用哪个类来执行此任务。 我不知道什么类是速度和大处理的最大能力方面。 两者有什么区别? 请给我build议。 谢谢。