List of usage examples for org.apache.poi.ss.usermodel Hyperlink getAddress
public String getAddress();
From source file:com.vaadin.addon.spreadsheet.Spreadsheet.java
License:Open Source License
private void loadHyperLinks(int r1, int c1, int r2, int c2) { for (int r = r1 - 1; r < r2; r++) { final Row row = getActiveSheet().getRow(r); if (row != null) { for (int c = c1 - 1; c < c2; c++) { Cell cell = row.getCell(c); if (cell != null) { try { Hyperlink link = cell.getHyperlink(); if (link != null) { if (link instanceof XSSFHyperlink) { String tooltip = ((XSSFHyperlink) link).getTooltip(); // Show address if no defined tooltip (like // in // excel) if (tooltip == null) { tooltip = link.getAddress(); }/*from w w w.ja v a2 s . c om*/ getState().hyperlinksTooltips.put(SpreadsheetUtil.toKey(c + 1, r + 1), tooltip); } else { getState().hyperlinksTooltips.put(SpreadsheetUtil.toKey(c + 1, r + 1), link.getAddress()); } } else { // Check if the cell has HYPERLINK function if (DefaultHyperlinkCellClickHandler.isHyperlinkFormulaCell(cell)) { getState().hyperlinksTooltips.put(SpreadsheetUtil.toKey(c + 1, r + 1), DefaultHyperlinkCellClickHandler.getHyperlinkFunctionCellAddress(cell)); } } } catch (XmlValueDisconnectedException exc) { LOGGER.log(Level.FINEST, exc.getMessage(), exc); } } } } } }
From source file:de.iteratec.iteraplan.businesslogic.exchange.legacyExcel.exporter.ExportWorkbook.java
License:Open Source License
/** * Sets given value and style of the given cell and adds the given <code>link</code> as hyperlink * to the <code>cell</code>. * //from ww w. ja va 2 s.c o m * @param cell * the cell in question * @param value * the value to be set * @param link * the link to be added * @param style * if <code>null</code> the default style for hyperlinks is taken */ private void setHyperlink(Cell cell, Integer value, Hyperlink link, CellStyle style) { if (cell == null) { return; } if ((value != null) && (link != null)) { cell.setCellFormula("HYPERLINK(\"" + link.getAddress() + "\"," + value + ")"); } CellStyle styleToSet = (style != null ? style : getHyperlinkStyle()); cell.setCellStyle(styleToSet); }
From source file:io.konig.spreadsheet.WorkbookProcessorImpl.java
License:Apache License
private String cellStringValue(Cell cell) { if (cell == null) { return null; }/*from www . ja v a2 s .co m*/ String text = dataFormatter.formatCellValue(cell); if (text != null && !text.startsWith("HYPERLINK(")) { text = text.trim(); if (text.length() == 0) { text = null; } } else { Hyperlink link = cell.getHyperlink(); if (link != null) { text = link.getLabel(); if (text == null) { text = link.getAddress(); } if (text != null) { text = text.trim(); } } } return text; }
From source file:net.sf.ahtutils.report.util.DataUtil.java
public static Object getCellValue(Cell cell) { Object value = new Object(); // Prevent a NullPointerException if (cell != null) { if (cell.getHyperlink() != null) { Workbook workbook = new XSSFWorkbook(); FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); Hyperlink link = cell.getHyperlink(); String address = link.getAddress(); if (logger.isTraceEnabled()) { logger.trace("Found a Hyperlink to " + cell.getHyperlink().getAddress() + " in cell " + cell.getRowIndex() + "," + cell.getColumnIndex()); }/*from w ww . j a v a 2 s . com*/ cell = evaluator.evaluateInCell(cell); } // Depending on the cell type, the value is read using Apache POI methods switch (cell.getCellType()) { // String are easy to handle case Cell.CELL_TYPE_STRING: logger.trace("Found string " + cell.getStringCellValue()); value = cell.getStringCellValue(); break; // Since date formatted cells are also of the numeric type, this needs to be processed case Cell.CELL_TYPE_NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { Date date = cell.getDateCellValue(); DateFormat df = SimpleDateFormat.getDateInstance(); logger.trace("Found date " + df.format(date)); value = date; } else { logger.trace("Found general number " + cell.getNumericCellValue()); value = cell.getNumericCellValue(); } break; } } else { logger.trace("Found cell with NULL value"); } return value; }
From source file:org.hellojavaer.poi.excel.utils.ExcelUtils.java
License:Apache License
@SuppressWarnings({ "unchecked", "rawtypes" })
private static <T> T readRow(ExcelReadContext<T> context, Row row,
Map<Integer, Map<String, ExcelReadFieldMappingAttribute>> fieldMapping, Class<T> targetClass,
ExcelReadRowProcessor<T> processor, boolean isTrimSpace) {
try {/*from w ww .java2 s . co m*/
context.setCurRowData(targetClass.newInstance());
} catch (Exception e1) {
throw new RuntimeException(e1);
}
int curRowIndex = context.getCurRowIndex();
for (Entry<Integer, Map<String, ExcelReadFieldMappingAttribute>> fieldMappingEntry : fieldMapping
.entrySet()) {
int curColIndex = fieldMappingEntry.getKey();// excel index;
// proc cell
context.setCurColIndex(curColIndex);
Cell cell = null;
if (row != null) {
cell = row.getCell(curColIndex);
}
context.setCurCell(cell);
Map<String, ExcelReadFieldMappingAttribute> fields = fieldMappingEntry.getValue();
for (Map.Entry<String, ExcelReadFieldMappingAttribute> fieldEntry : fields.entrySet()) {
String fieldName = fieldEntry.getKey();
ExcelReadFieldMappingAttribute attribute = fieldEntry.getValue();
// proccess link
String linkField = attribute.getLinkField();
if (linkField != null) {
String address = null;
if (cell != null) {
Hyperlink hyperlink = cell.getHyperlink();
if (hyperlink != null) {
address = hyperlink.getAddress();
}
}
if (isTrimSpace && address != null) {
address = address.trim();
if (address.length() == 0) {
address = null;
}
}
if (Map.class.isAssignableFrom(targetClass)) {// map
((Map) context.getCurRowData()).put(linkField, address);
} else {// java bean
try {
setProperty(context.getCurRowData(), linkField, address);
} catch (Exception e1) {
ExcelReadException e = new ExcelReadException(e1);
e.setRowIndex(curRowIndex);
e.setColIndex(curColIndex);
e.setCode(ExcelReadException.CODE_OF_PROCESS_EXCEPTION);
throw e;
}
}
}
Object value = _readCell(cell);
if (value != null && value instanceof String && isTrimSpace) {
value = ((String) value).trim();
if (((String) value).length() == 0) {
value = null;
}
}
if (value == null && attribute.isRequired()) {
ExcelReadException e = new ExcelReadException("Cell value is null");
e.setRowIndex(curRowIndex);
e.setColIndex(curColIndex);
e.setCode(ExcelReadException.CODE_OF_CELL_VALUE_REQUIRED);
throw e;
}
//
try {
if (Map.class.isAssignableFrom(targetClass)) {// map
value = procValueConvert(context, row, cell, attribute, fieldName, value);
((Map) context.getCurRowData()).put(fieldName, value);
} else {// java bean
value = procValueConvert(context, row, cell, attribute, fieldName, value);
setProperty(context.getCurRowData(), fieldName, value);
}
} catch (Exception e1) {
ExcelReadException e = new ExcelReadException(e1);
e.setRowIndex(curRowIndex);
e.setColIndex(curColIndex);
e.setCode(ExcelReadException.CODE_OF_PROCESS_EXCEPTION);
throw e;
}
}
}
return context.getCurRowData();
}
From source file:org.spdx.spdxspreadsheet.LicenseSheet.java
License:Apache License
/** * Retrieve the text from a license text cell either through the hyperlink * to a text file in a directory local to the spreadsheet or from the cell * itself if there is no hyperlink present * @param textCell//from w w w . j av a 2 s. c o m * @return */ public static String getLicenseTemplateText(Cell textCell, String textFilePath) { String localFileName = null; File licenseTemplateTextFile = null; Hyperlink cellHyperlink = textCell.getHyperlink(); if (cellHyperlink != null && cellHyperlink.getAddress() != null) { localFileName = cellHyperlink.getAddress(); licenseTemplateTextFile = new File(textFilePath + File.separator + localFileName); if (!licenseTemplateTextFile.exists()) { // try without the workbook path licenseTemplateTextFile = new File(localFileName); } if (!licenseTemplateTextFile.exists()) { licenseTemplateTextFile = null; } } if (licenseTemplateTextFile == null && textCell.getStringCellValue() != null && textCell.getStringCellValue().toUpperCase().endsWith(".TXT")) { localFileName = textCell.getStringCellValue(); licenseTemplateTextFile = new File(textFilePath + File.separator + localFileName); } if (localFileName != null) { if (!licenseTemplateTextFile.exists()) { logger.warn("Can not find linked license text file " + licenseTemplateTextFile.getName()); return ("WARNING: Could not find license text file " + licenseTemplateTextFile.getName()); } if (!licenseTemplateTextFile.canRead()) { logger.warn("Can not read linked license text file " + licenseTemplateTextFile.getName()); return ("WARNING: Could not read license text file " + licenseTemplateTextFile.getName()); } try { InputStream in = new FileInputStream(licenseTemplateTextFile); BufferedReader reader = new BufferedReader(new InputStreamReader(in, ENCODING)); try { StringBuilder sb = new StringBuilder(); String line = null; String newLine = System.getProperty("line.separator"); line = reader.readLine(); if (line != null) { sb.append(line); } while ((line = reader.readLine()) != null) { sb.append(newLine); sb.append(line); } return sb.toString(); } finally { reader.close(); } } catch (IOException e) { logger.warn("Error reading linked license template text file " + licenseTemplateTextFile.getName() + ": " + e.getMessage()); return ("WARNING: Error reading license template text file " + licenseTemplateTextFile.getName()); } } else { // no file name return textCell.getStringCellValue(); } }