package cn.flightfeather.supervision.docx4j.demo; import org.docx4j.openpackaging.exceptions.Docx4JException; import org.docx4j.openpackaging.packages.SpreadsheetMLPackage; import org.docx4j.openpackaging.parts.SpreadsheetML.WorkbookPart; import org.docx4j.openpackaging.parts.SpreadsheetML.WorksheetPart; import org.xlsx4j.org.apache.poi.ss.usermodel.DataFormatter; import org.xlsx4j.sml.Cell; import org.xlsx4j.sml.Row; import org.xlsx4j.sml.SheetData; import org.xlsx4j.sml.Worksheet; public class Teddd { public static void main(String[] args) throws Exception { String inputfilepath = System.getProperty("user.dir") + "/content.xlsx"; // Open a document from the file system SpreadsheetMLPackage xlsxPkg = SpreadsheetMLPackage.load(new java.io.File(inputfilepath)); WorkbookPart workbookPart = xlsxPkg.getWorkbookPart(); WorksheetPart sheet = workbookPart.getWorksheet(0); DataFormatter formatter = new DataFormatter(); // Now lets print the cell content displayContent(sheet, formatter); } private static void displayContent(WorksheetPart sheet, DataFormatter formatter) throws Docx4JException { Worksheet ws = sheet.getContents(); SheetData data = ws.getSheetData(); for (Row r : data.getRow() ) { System.out.println("row " + r.getR() ); for (Cell c : r.getC() ) { // CellReference cellRef = new CellReference(row.getRowNum(), cell.getColumnIndex()); // System.out.print(cellRef.formatAsString()); // System.out.print(" - "); // get the text that appears in the cell by getting the cell value and applying any data formats (Date, 0.00, 1.23e9, $1.23, etc) String text = formatter.formatCellValue(c); System.out.println(c.getR() + " contains " + text); } } } }