Révision 3129
tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/ReadExcel.java (revision 3129) | ||
---|---|---|
20 | 20 |
import org.apache.poi.ss.usermodel.Sheet; |
21 | 21 |
import org.apache.poi.ss.usermodel.Workbook; |
22 | 22 |
import org.apache.poi.ss.usermodel.WorkbookFactory; |
23 |
import org.apache.poi.xssf.usermodel.XSSFCell; |
|
23 | 24 |
import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
24 | 25 |
|
25 | 26 |
public class ReadExcel { |
... | ... | |
651 | 652 |
* @return always a String starting with '#' if an error occurs |
652 | 653 |
*/ |
653 | 654 |
public static String cellToString(Cell cell) { |
654 |
if (cell == null) return ""; |
|
655 | 655 |
|
656 |
|
|
656 | 657 |
switch (cell.getCellType()) { |
657 | 658 |
case FORMULA: |
658 |
return "#formulla";
|
|
659 |
return cell.getCellFormula();
|
|
659 | 660 |
case NUMERIC: |
660 | 661 |
if (DateUtil.isCellDateFormatted(cell)) { |
661 |
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
|
|
662 |
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-dd-MM");
|
|
662 | 663 |
return dateFormat.format(cell.getDateCellValue()); |
663 | 664 |
} |
664 | 665 |
else { |
666 |
XSSFCell xssfCell = (XSSFCell)cell; |
|
667 |
String raw = xssfCell.getRawValue(); |
|
665 | 668 |
Double value = cell.getNumericCellValue(); |
666 |
return value.toString(); |
|
669 |
Integer i = null; |
|
670 |
try {i = Integer.parseInt(raw);} catch(Exception e) {} |
|
671 |
|
|
672 |
if (i == null) { |
|
673 |
return value.toString(); |
|
674 |
} else { |
|
675 |
return i.toString(); |
|
676 |
} |
|
677 |
|
|
667 | 678 |
} |
668 | 679 |
case STRING: |
669 |
return cell.getStringCellValue();
|
|
680 |
return cell.getRichStringCellValue().toString();
|
|
670 | 681 |
case BLANK: |
671 | 682 |
return ""; |
672 | 683 |
case BOOLEAN: |
673 |
return "" + cell.getBooleanCellValue();
|
|
684 |
return cell.getBooleanCellValue() ? "TRUE" : "FALSE";
|
|
674 | 685 |
case ERROR: |
675 | 686 |
return "#error"; |
676 | 687 |
default: |
677 |
return "#typeerror";
|
|
688 |
return "#typeerror: "+cell.getCellType();
|
|
678 | 689 |
} |
679 | 690 |
} |
680 | 691 |
|
Formats disponibles : Unified diff