Tag: xssf

java excel读取一列

我有一个列(B),我需要采取B3和B20之间的所有值 这是我的代码 try { OPCPackage fs; fs = OPCPackage.open(new File(getFilePath())); XSSFWorkbook wb = new XSSFWorkbook(fs); XSSFSheet sheet = wb.getSheet("Master column name – Used Car"); XSSFRow row; CellReference cr = new CellReference("B3"); row = sheet.getRow(4); System.out.println(row); 但正如你所看到的,我得到一个值,我不知道如何获得单元格B3的值,直到B20 你能帮忙吗?

如果Excel文件处于打开状态,Excel文件不能被Java-Program访问

我的代码应该打印一个数字(在这种情况下数字5)到指定的Excel工作簿中指定的单元格。 如果Excel-Workbookclosures,代码将起作用。 但是,如果Excel-Workbook打开,运行代码时出现以下错误消息: Exception in thread "main" java.io.FileNotFoundException: C:\Users\Username\Desktop\java-Programs\test.xlsm (The process can't access the file because it is used by another process) 代码如下: XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(new File("C:\\Users\\Username\\Desktop\\java-Programs\\test.xlsm"))); XSSFSheet ExcelSheet = wb.getSheet("Output"); XSSFRow row = ExcelSheet.getRow(3); XSSFCell cell = row.getCell(0); cell.setCellValue(5); FileOutputStream fileOut = new FileOutputStream("C:\\Users\\Username\\Desktop\\java-Programs\\test.xlsm"); wb.write(fileOut); fileOut.close(); 我想在运行java代码时保持文件打开。 有人知道我必须改变,以便能够保持运行代码时打开Excel文件?

评估Workbook对象中的所有公式

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

JAVA Apache POI自定义格式

我正在使用poi版本: 3.14 我访问一个Excel( .xlsx )文件 this.workbook = WorkbookFactory.create(new FileInputStream(f.getPath())); this.workbook.setMissingCellPolicy(Row.CREATE_NULL_AS_BLANK); this.sheet = workbook.getSheetAt(0); 以下是应用于单元格的.xlsx文件中的自定义格式。 我想在我的代码中显示单元格的值。 正如你可以看到在文件中可见的单元格值是“031642153283700100”。 另外,当我在这个特定的细胞clic,价值改变为“42153283700100”(数据没有自定义格式应用)。 编辑 原始单元格types是CELL_TYPE_NUMERIC。 ==> 如何在java代码中显示格式化值“031642153283700100”? 我试过了 : cell.toString()=>“42153283700100” cell.getNumericCellValue()=>“42153283700100” 与以前的单元格types转换: cell.setCellType(Cell.CELL_TYPE_STRING); cell.getStringCellValue()=>“42153283700100” cell.getRichStringCellValue()=>“42153283700100” 具有formatCellValue(cell)方法的旧HSSFDataFormatter =>“421532837001000316”

通过Java读取excel文件.xlsx

所以我的excel文件比较小。 它包含8张。 每张纸都有我需要阅读的数据的“logging”。 每张纸也有第一行保留为我跳过的标题; 所以我的数据将从每张表的第二行(第一个索引)开始,到最后一个logging结束。 所以,下面是我的代码迭代通过工作表,并阅读每行,但它无法读取每张表。 而我似乎无法弄清楚为什么。 请看看,任何build议将不胜感激。 谢谢! FileInputStream fis = new FileInputStream(new File(filePath)); XSSFWorkbook wb = new XSSFWorkbook(fis); DataFormatter formatter = new DataFormatter(); //iterate over sheets for (int i=0; i<NUM_OF_SHEETS; i++) { sheet = wb.getSheetAt(i); sheetName = sheet.getSheetName(); //iterate over rows for (int j=1; j<=lastRow; j++) { //1st row or 0-index of each […]

SOAPUI:无法parsing类XSSFWorkBook错误

在SoapUI中使用Apache POI时出现以下错误。 无法解决类XSSFWorkBook错误 我在SOAPUI中导入POI,并将poi jar文件放在/ bin / ext中。 我试着版本3.14以及3.15testing版。 (我附上了错误)。 我在这里错过了什么? 任何帮助将不胜感激。 这里是代码: import org.apache.poi.xssf.usermodel.* import org.apache.poi.xssf.usermodel.XSSFWorkbook; def fs = new FileInputStream ("C:\\Users\\JDoe\\Desktop\\SOAP_Learn\\SOAP_Test_Data.xlsx") def wb = new XSSFWorkBook (fs) //–>> gives error in this line def ws = wb.getSheet("Sheet1") def r = ws.getPhysicalNumberOfRows() enter code here << Stack Trace >> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script5.groovy: 14: […]

SXSSF与Excel表

我正在尝试在stream式工作簿(SXSSFWorkbook)中创build一个Excel表。 它不直接支持API,但是通过访问底层的XSSFWorkbook(workbook.getXSSFWorkbook)已经取得了一些成功。 当我在Excel(2007)中打开文件时,它会显示“Excel在”test.xlsx“中发现了不可读的内容。是否要恢复此工作簿的内容?” 点击是成功修复工作簿,我得到正确的结果。 日志说:“修复logging:从/xl/tables/table1.xml部分(表)”表。 任何人都有我如何可以避免Excel错误的想法? 下面是一个例子: public class SXSSFTest { private static final int NB_ROWS = 5; private static final int NB_COLS = 5; public static void main(String[] args) throws Exception { try (SXSSFWorkbook workbook = new SXSSFWorkbook(); FileOutputStream outputStream = new FileOutputStream("C:\\test.xlsx")) { SXSSFSheet sheet = workbook.createSheet(); fillSheet(sheet); String dataRange = new AreaReference( […]

autoSizeColumn()失败的XSSFSheet

我已经复制了所使用的循环,并正在自动调整HSSFSheet中的列,但是对于XSSFSheet而言,用于调整列的单元格不是更广泛的单元格。 这导致列宽度为“0”。 XSSFSheet xssfSheet = null; ….. for (short c = 0; c<11; c++){ xssfSheet.autoSizeColumn(c); } 提前致谢! 编辑:这是在方法的最后完成,没有数据被添加。 问题似乎是它自动化到每列中添加的最后一个单元格的内容

未报告的例外。 必须被逮捕或宣布被抛出

所以我正在试图学习Apache的POI API,而且我对理解某些东西有点困难。 我正在尝试使用JFileChooser类打开现有的Excel文件,以便用户selectExcel文件,然后以特定方式对其进行修改。 我有问题,但打开文件。 它不断给我这个错误:未报告的例外。 必须被捕获或被宣布被抛出在有XSSFWorkbook代码的行。 我的逻辑如下: 1)让用户使用JFileChooser类select他们想要修改的excel文件 2)创build一个新的工作簿和工作表,从选定的Excel文件中传输数据 3)修改数据 public class readInExcel { static void readExcel() throws IOException { JFileChooser fileChooser = new JFileChooser(); fileChooser.setCurrentDirectory(new File(System.getProperty("user.home"))); int returnVal = fileChooser.showOpenDialog(new JPanel()); if(returnVal == JFileChooser.APPROVE_OPTION) { File OGFile = fileChooser.getSelectedFile(); String fileName = "user.home.Desktop"; XSSFWorkbook wb = new XSSFWorkbook(OGFile); XSSFSheet sheet = wb.createSheet("FirstSheet"); } }

无法在XSSFCell Apache POI中设置自定义颜色

我试图设置一些自定义(从hex或rgb值)颜色到一个xssfcell.But单元格的颜色变成黑色,即使我给一些其他颜色。我已经尝试通过以下方式做到这一点: File xlSheet = new File("C:\\Users\\IBM_ADMIN\\Downloads\\Excel Test\\Something3.xlsx"); System.out.println(xlSheet.createNewFile()); FileOutputStream fileOutISPR = new FileOutputStream("C:\\Users\\IBM_ADMIN\\Downloads\\Excel Test\\Something3.xlsx"); XSSFWorkbook isprWorkbook = new XSSFWorkbook(); XSSFSheet sheet = isprWorkbook.createSheet("TEST"); XSSFRow row = sheet.createRow(0); XSSFCellStyle cellStyle = isprWorkbook.createCellStyle(); byte[] rgb = new byte[3]; rgb[0] = (byte) 24; // red rgb[1] = (byte) 22; // green rgb[2] = (byte) 219; // blue XSSFColor […]