Index: tmp/org.txm.libs.msoffice/lib/poi-ooxml-3.17.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/poi-ooxml-schemas-3.17.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/xmlbeans-2.6.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/commons-collections4-4.1.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/junit-4.12.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/commons-logging-1.2.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/poi-3.17.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/ooxml-schemas-1.3.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/poi-excelant-3.17.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/curvesapi-1.04.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/commons-codec-1.10.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/log4j-1.2.17.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/poi-scratchpad-3.17.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: tmp/org.txm.libs.msoffice/lib/commons-compress-1.20.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/commons-compress-1.20.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/curvesapi-1.06.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/curvesapi-1.06.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/poi-5.0.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/poi-5.0.0.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/SparseBitSet-1.2.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/SparseBitSet-1.2.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/poi-excelant-5.0.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/poi-excelant-5.0.0.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/poi-integration-5.0.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/poi-integration-5.0.0.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/xmlbeans-4.0.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/xmlbeans-4.0.0.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/commons-codec-1.15.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/commons-codec-1.15.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/commons-math3-3.6.1.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/commons-math3-3.6.1.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/poi-ooxml-lite-5.0.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/poi-ooxml-lite-5.0.0.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/commons-collections4-4.4.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/commons-collections4-4.4.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/poi-scratchpad-5.0.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/poi-scratchpad-5.0.0.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/lib/poi-ooxml-5.0.0.jar
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tmp/org.txm.libs.msoffice/lib/poi-ooxml-5.0.0.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/ReadExcel.java
===================================================================
--- tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/ReadExcel.java	(revision 3042)
+++ tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/ReadExcel.java	(revision 3043)
@@ -23,25 +23,25 @@
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 public class ReadExcel {
-
+	
 	Workbook wb = null;
-
+	
 	Sheet ws = null;
-
+	
 	String[] header = null;
-
+	
 	HashMap<String, String> record = null;
-
+	
 	int iRow = 0;
-
+	
 	int nRows;
-
+	
 	private File tableFile;
-
+	
 	public ReadExcel(File tableFile, String sheetName) throws EncryptedDocumentException, InvalidFormatException, IOException {
-
+		
 		this.tableFile = tableFile;
-
+		
 		if (tableFile.exists() && tableFile.length() > 0) {
 			wb = WorkbookFactory.create(tableFile);
 			if (sheetName == null || sheetName.length() == 0) {
@@ -53,7 +53,7 @@
 					ws = wb.getSheetAt(0);
 				}
 			}
-
+			
 			nRows = ws.getPhysicalNumberOfRows();
 		}
 		else {
@@ -61,7 +61,7 @@
 			ws = wb.createSheet();
 		}
 	}
-
+	
 	/**
 	 * one rule (regex test) per column
 	 * all lines are processed
@@ -72,7 +72,7 @@
 		Row headers = ws.getRow(0);
 		if (headers == null) return false;
 		int colMax = headers.getLastCellNum();
-
+		
 		ArrayList<Integer> columnIdxToTest = new ArrayList<>();
 		ArrayList<String> columnsTest = new ArrayList<>();
 		for (int colIndex = 0; colIndex < colMax; colIndex++) {
@@ -85,19 +85,19 @@
 				}
 			}
 		}
-
+		
 		if (columnIdxToTest.size() == 0) {
 			System.out.println("Error: no column found with name=" + rules.keySet());
 			return false;
 		}
-
+		
 		ArrayList<Integer> removed = new ArrayList<>();
 		for (int rowIndex = 0; rowIndex < nRows; rowIndex++) {
 			Row row = ws.getRow(rowIndex);
 			if (row == null) continue;
 			for (int i = 0; i < columnIdxToTest.size(); i++) {
 				int colIndex = columnIdxToTest.get(i);
-
+				
 				Cell cell = row.getCell(colIndex);
 				if (cell != null) {
 					String value = cellToString(cell).trim();
@@ -109,16 +109,16 @@
 				}
 			}
 		}
-
+		
 		// TODO very slow when there is a lot of lines
 		for (int rowIndex : removed) {
 			ws.shiftRows(rowIndex + 1, nRows, -1);
 			nRows--;
 		}
-
+		
 		return true;
 	}
-
+	
 	/**
 	 * search and replace lines utils
 	 * 
@@ -135,10 +135,10 @@
 		if (!extractTo(ws2, lineRules, columnsSelection)) {
 			return false;
 		}
-
+		
 		return true;
 	}
-
+	
 	/**
 	 * extract lines and columns following rules.
 	 * 
@@ -155,10 +155,10 @@
 	public boolean copyColumns(HashMap<String, String[]> columnsToCopy) throws EncryptedDocumentException, InvalidFormatException, IOException {
 		Row headers = ws.getRow(0);
 		if (headers == null) return false;
-
+		
 		int colMax = headers.getLastCellNum();
 		int nRows = ws.getPhysicalNumberOfRows();
-
+		
 		HashMap<String, Integer> searchColumns = new HashMap<>();
 		for (int colIndex = 0; colIndex < colMax; colIndex++) {
 			Cell cell = headers.getCell(colIndex);
@@ -169,7 +169,7 @@
 				}
 			}
 		}
-
+		
 		if (searchColumns.keySet().size() != columnsToCopy.keySet().size()) {
 			System.out.println("Error: not all columns found=" + searchColumns.keySet() + " of " + columnsToCopy.keySet());
 			ArrayList<String> notFound = new ArrayList<>(columnsToCopy.keySet());
@@ -177,22 +177,22 @@
 			System.out.println("NOT FOUND: " + notFound);
 			return false;
 		}
-
+		
 		System.out.println("N Rows to update: " + nRows);
 		int nRowWritten = 0;
-
+		
 		for (int rowIndex = 0; rowIndex < nRows; rowIndex++) { // update all rows, starting from the second row (first row is the header)
 			Row row = ws.getRow(rowIndex);
 			if (row == null) continue;
-
+			
 			int icol = 0;
 			for (String col : columnsToCopy.keySet()) {
 				for (String newcol : columnsToCopy.get(col)) {
 					int colIndex = searchColumns.get(col);
-
+					
 					Cell cell = row.getCell(colIndex);
 					if (cell != null) {
-
+						
 						Cell newCell = row.createCell(colMax + icol);
 						if (rowIndex == 0) {
 							newCell.setCellValue(newcol); // first column must be renamed
@@ -204,15 +204,15 @@
 					icol++;
 				}
 			}
-
+			
 			nRowWritten++;
 		}
-
+		
 		System.out.println("" + nRowWritten + " rows updated.");
-
+		
 		return nRowWritten > 0;
 	}
-
+	
 	public boolean formatDateColumns(List<String> columns, String dateformat) {
 		try {
 			java.text.SimpleDateFormat parser = new java.text.SimpleDateFormat(dateformat);
@@ -232,7 +232,7 @@
 					}
 				}
 			}
-
+			
 			if (searchColumns.keySet().size() != columns.size()) {
 				System.out.println("Error: not all columns found=" + searchColumns.keySet() + " of " + columns);
 				ArrayList<String> notFound = new ArrayList<>(columns);
@@ -242,29 +242,29 @@
 			}
 			
 			for (String column : columns) {
-
+				
 				int colIndex = searchColumns.get(column);
 				for (int rowIndex = 0; rowIndex < nRows; rowIndex++) { // update all rows, starting from the second row (first row is the header)
 					Row row = ws.getRow(rowIndex);
 					if (row == null) continue;
-
+					
 					Cell cell = row.getCell(colIndex);
 					int icol = 0; // number of columns written for this row
-
+					
 					if (cell != null) {
-
+						
 						Cell newCell = null;
 						if (rowIndex == 0) { // header line
 							newCell = row.createCell(colMax + icol++);
-							newCell.setCellValue(column+"-jour-semaine"); // first row must be renamed
+							newCell.setCellValue(column + "-jour-semaine"); // first row must be renamed
 							newCell = row.createCell(colMax + icol++);
-							newCell.setCellValue(column+"-jour"); // first row must be renamed
+							newCell.setCellValue(column + "-jour"); // first row must be renamed
 							newCell = row.createCell(colMax + icol++);
-							newCell.setCellValue(column+"-mois"); // first row must be renamed
+							newCell.setCellValue(column + "-mois"); // first row must be renamed
 							newCell = row.createCell(colMax + icol++);
-							newCell.setCellValue(column+"-annee"); // first row must be renamed
+							newCell.setCellValue(column + "-annee"); // first row must be renamed
 							newCell = row.createCell(colMax + icol++);
-							newCell.setCellValue(column+"-tri"); // first row must be renamed
+							newCell.setCellValue(column + "-tri"); // first row must be renamed
 						}
 						else {
 							
@@ -292,14 +292,15 @@
 				
 				colMax += 5; // 5 new columns written
 			}
-		} catch (ParseException e) {
-			System.out.println("Error: while formating date columns: "+e);
+		}
+		catch (ParseException e) {
+			System.out.println("Error: while formating date columns: " + e);
 			e.printStackTrace();
 			return false;
 		}
 		return true;
 	}
-
+	
 	/**
 	 * extract lines and columns following rules.
 	 * 
@@ -316,10 +317,10 @@
 	public boolean searchAndReplaceInLines(HashMap<String, String[]> searchAndReplaceRules) throws EncryptedDocumentException, InvalidFormatException, IOException {
 		Row headers = ws.getRow(0);
 		if (headers == null) return false;
-
+		
 		int colMax = headers.getLastCellNum();
 		int nRows = ws.getPhysicalNumberOfRows();
-
+		
 		HashMap<String, Integer> searchColumns = new HashMap<>();
 		for (int colIndex = 0; colIndex < colMax; colIndex++) {
 			Cell cell = headers.getCell(colIndex);
@@ -330,7 +331,7 @@
 				}
 			}
 		}
-
+		
 		if (searchColumns.keySet().size() != searchAndReplaceRules.keySet().size()) {
 			System.out.println("Error: not all columns found=" + searchColumns.keySet() + " of " + searchAndReplaceRules.keySet());
 			ArrayList<String> notFound = new ArrayList<>(searchAndReplaceRules.keySet());
@@ -338,18 +339,18 @@
 			System.out.println("NOT FOUND: " + notFound);
 			return false;
 		}
-
+		
 		System.out.println("N Rows to update: " + nRows);
 		int nRowWritten = 0;
-
+		
 		for (int rowIndex = 0; rowIndex < nRows; rowIndex++) { // update all rows, starting from the second row (first row is the header)
 			Row row = ws.getRow(rowIndex);
 			if (row == null) continue;
-
+			
 			boolean change = false;
 			for (String col : searchAndReplaceRules.keySet()) {
 				int colIndex = searchColumns.get(col);
-
+				
 				Cell cell = row.getCell(colIndex);
 				if (cell != null) {
 					String value = cellToString(cell).trim();
@@ -361,17 +362,17 @@
 					}
 				}
 			}
-
+			
 			if (change) {
 				nRowWritten++;
 			}
 		}
-
+		
 		System.out.println("" + nRowWritten + " rows updated.");
-
+		
 		return true;
 	}
-
+	
 	/**
 	 * one rule (regex test) per column
 	 * all lines are processed
@@ -384,9 +385,9 @@
 	public boolean extractTo(Sheet ws2, HashMap<String, String> lineRules, List<String> columnsSelection) throws EncryptedDocumentException, InvalidFormatException, IOException {
 		Row headers = ws.getRow(0);
 		if (headers == null) return false;
-
+		
 		int colMax = headers.getLastCellNum();
-
+		
 		ArrayList<Integer> columnIdxToTest = new ArrayList<>();
 		ArrayList<Integer> columnIdxToWrite = new ArrayList<>();
 		ArrayList<String> columns = new ArrayList<>();
@@ -400,18 +401,18 @@
 					columnIdxToTest.add(colIndex);
 					columnsTest.add(lineRules.get(value));
 				}
-
+				
 				if (columnsSelection.contains(value)) {
 					columnIdxToWrite.add(colIndex);
 				}
 			}
 		}
-
+		
 		if (columnIdxToTest.size() == 0) {
 			System.out.println("Error: no column found with name=" + lineRules.keySet());
 			return false;
 		}
-
+		
 		if (columnIdxToWrite.size() != columnsSelection.size()) {
 			System.out.println("Error: not all columns found=" + columnIdxToWrite + " of " + columnsSelection);
 			ArrayList<String> notFound = new ArrayList<>(columnsSelection);
@@ -419,7 +420,7 @@
 			System.out.println("NOT FOUND: " + notFound);
 			return false;
 		}
-
+		
 		Row row2 = ws2.createRow(0);
 		int nCell = 0;
 		for (int iCol : columnIdxToWrite) {
@@ -427,19 +428,19 @@
 			cell2.setCellValue(cellToString(headers.getCell(iCol)).trim());
 			nCell++;
 		}
-
+		
 		int nRowWritten = 1;
 		for (int rowIndex = 0; rowIndex < nRows; rowIndex++) {
 			Row row = ws.getRow(rowIndex);
 			if (row == null) continue;
 			for (int i = 0; i < columnIdxToTest.size(); i++) {
 				int colIndex = columnIdxToTest.get(i);
-
+				
 				Cell cell = row.getCell(colIndex);
 				if (cell != null) {
 					String value = cellToString(cell).trim();
 					if (value.matches(columnsTest.get(i))) {
-
+						
 						// write new line in Sheet ws2
 						row2 = ws2.createRow(nRowWritten);
 						nCell = 0;
@@ -449,16 +450,16 @@
 							nCell++;
 						}
 						nRowWritten++;
-
+						
 						break; // next row
 					}
 				}
 			}
 		}
-
+		
 		return true;
 	}
-
+	
 	/**
 	 * 
 	 * @param rules String:old column name -> String:new column name
@@ -466,7 +467,7 @@
 	private boolean renameColumns(HashMap<String, String> rules) {
 		Row headers = ws.getRow(0);
 		if (headers == null) return false;
-
+		
 		int colMax = headers.getLastCellNum();
 		for (int colIndex = 0; colIndex < colMax; colIndex++) {
 			Cell cell = headers.getCell(colIndex);
@@ -480,37 +481,37 @@
 		}
 		return true;
 	}
-
+	
 	public boolean save() throws IOException {
 		return saveAs(tableFile);
 	}
-
+	
 	public boolean saveAs(File newTableFile) throws IOException {
 		BufferedOutputStream writer = new BufferedOutputStream(new FileOutputStream(newTableFile, false));
 		wb.write(writer);
 		writer.close();
 		return true;
 	}
-
+	
 	public boolean readHeaders() {
-
+		
 		if (nRows == 0) {
 			header = new String[0];
 			return header != null;
 		}
-
+		
 		Row firstRow = ws.getRow(0);
 		int colMax = firstRow.getLastCellNum();
-
+		
 		header = new String[colMax];
 		for (int it = 0; it < colMax; it++) {
 			header[it] = firstRow.getCell(it).getStringCellValue();
 		}
-
+		
 		if (iRow == 0) iRow = 1; // skip first line
 		return true;
 	}
-
+	
 	public boolean readRecord() {
 		if (iRow < nRows) {
 			_getRecord();
@@ -522,25 +523,25 @@
 			return false;
 		}
 	}
-
+	
 	public String[] getHeaders() {
 		return header;
 	}
-
+	
 	public HashMap<String, String> getRecord() {
 		return record;
 	}
-
+	
 	public String get(String h) {
 		if (record == null) return null;
-
+		
 		return record.get(h);
 	}
-
+	
 	protected void _getRecord() {
 		record = new HashMap<>();
 		Row row = ws.getRow(iRow);
-
+		
 		for (int colIndex = 0; colIndex < header.length; colIndex++) {
 			String col = header[colIndex];
 			Cell cell = row.getCell(colIndex);
@@ -557,15 +558,15 @@
 				record.put(col, "");
 			}
 		}
-
+		
 		for (String k : record.keySet())
 			if (record.get(k) == null) System.out.println("ERROR null value with " + k);
 	}
-
+	
 	public void close() throws IOException {
 		if (wb != null) wb.close();
 	}
-
+	
 	/**
 	 * 
 	 * @param inputFile
@@ -573,14 +574,14 @@
 	 * @return list of lines (line = list of cells) with values converted to String - the file is completely read
 	 */
 	public static ArrayList<ArrayList<String>> toTable(File inputFile, String sheetName) {
-
+		
 		ArrayList<ArrayList<String>> data = new ArrayList<>();
-
+		
 		if (!inputFile.canRead()) {
 			System.out.println("** Excel2XML: '" + inputFile.getName() + "' file not readable. Aborting.");
 			return data;
 		}
-
+		
 		try {
 			Workbook wb = WorkbookFactory.create(inputFile);
 			Sheet ws;
@@ -593,23 +594,23 @@
 					ws = wb.getSheetAt(0);
 				}
 			}
-
+			
 			if (ws == null) {
 				System.out.println("** Excel2XML: no sheet found. Aborting.");
 				return data;
 			}
-
+			
 			int nRows = ws.getPhysicalNumberOfRows();
 			if (nRows == 0) return null;
-
+			
 			Row firstRow = ws.getRow(0);
 			int colMax = firstRow.getLastCellNum();
-
+			
 			ArrayList<String> headers = new ArrayList<>();
 			for (int it = 0; it < colMax; it++) {
 				headers.add(firstRow.getCell(it).getStringCellValue());
 			}
-
+			
 			for (int rowIndex = 0; rowIndex < nRows; rowIndex++) {
 				Row row = ws.getRow(rowIndex);
 				ArrayList<String> dataLine = new ArrayList<>();
@@ -632,10 +633,10 @@
 			e.printStackTrace();
 			return null;
 		}
-
+		
 		return data;
 	}
-
+	
 	/**
 	 * 
 	 * @param cell. If null returns ""
@@ -643,33 +644,33 @@
 	 */
 	public static String cellToString(Cell cell) {
 		if (cell == null) return "";
-
-		switch (cell.getCellTypeEnum()) {
-		case FORMULA:
-			return "#formulla";
-		case NUMERIC:
-			if (DateUtil.isCellDateFormatted(cell)) {
-				SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
-				return dateFormat.format(cell.getDateCellValue());
-			}
-			else {
-				Double value = cell.getNumericCellValue();
-				return value.toString();
-			}
-		case STRING:
-			return cell.getStringCellValue();
-		case BLANK:
-			return "";
-		case BOOLEAN:
-			return "" + cell.getBooleanCellValue();
-		case ERROR:
-			return "#error";
-		default:
-			return "#typeerror";
+		
+		switch (cell.getCellType()) {
+			case FORMULA:
+				return "#formulla";
+			case NUMERIC:
+				if (DateUtil.isCellDateFormatted(cell)) {
+					SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
+					return dateFormat.format(cell.getDateCellValue());
+				}
+				else {
+					Double value = cell.getNumericCellValue();
+					return value.toString();
+				}
+			case STRING:
+				return cell.getStringCellValue();
+			case BLANK:
+				return "";
+			case BOOLEAN:
+				return "" + cell.getBooleanCellValue();
+			case ERROR:
+				return "#error";
+			default:
+				return "#typeerror";
 		}
 	}
-
-
+	
+	
 	public static void main(String[] args) throws Exception {
 		File tableFile = new File("/home/mdecorde/Téléchargements/Requêtes_SVO-SOV.xlsx");
 		// ReadExcel excel = new ReadExcel(tableFile, null);
@@ -678,7 +679,7 @@
 			System.out.println(line);
 		}
 	}
-
+	
 	public static void mainAF(String[] args) throws Exception {
 		// ArrayList<ArrayList<String>> data = toTable(new File("/home/mdecorde/xml/ruscorpora1m-test/metadata.xlsx"), null);
 		// if (data.size() == 0) {
@@ -686,13 +687,13 @@
 		// } else {
 		// System.out.println(data);
 		// }
-
+		
 		File tableFile = new File("/home/mdecorde/TEMP/ANTRACT/AF/all.xlsx");
 		File table2File = null;
-
+		
 		System.out.println("open...");
 		ReadExcel excel = new ReadExcel(tableFile, null);
-
+		
 		HashMap<String, String> lineRules = new HashMap<>(); // line tests to select line to keep
 		List<String> columnsSelection; // list of columns to keep
 		HashMap<String, String> columnsToCopy = new HashMap<>();
@@ -710,7 +711,7 @@
 		// columnsToCopy.put("Titre propre", "title"); // not working yet
 		// columnsToCopy.put("Date de diffusion", "text-order"); // not working yet
 		// searchAndReplaceRules.put("text-order", new String[] {"../../....", "$3$2$1"}); // not working yet
-
+		
 		// sujets
 		table2File = new File("/home/mdecorde/TEMP/ANTRACT/AF/sujets.xlsx");
 		columnsSelection = Arrays.asList(
@@ -719,23 +720,23 @@
 				"Nom fichier segmenté (info)", "antract_video", "antract_debut", "antract_fin", "antract_duree", "antract_tc_type", "antract_tc_date",
 				"Résumé", "Séquences", "Descripteurs (Aff. Lig.)", "Générique (Aff. Lig.)");
 		lineRules.put("Type de notice", "Notice sujet");
-
+		
 		table2File.delete();
 		ReadExcel excel2 = new ReadExcel(table2File, null);
 		if (!excel.extractTo(excel2, lineRules, columnsSelection)) {
 			System.out.println("FAIL");
 			return;
 		}
-
+		
 		System.out.println("copying column: " + columnsToCopy.size());
 		// excel2.copyColumns(columnsToCopy);
-
+		
 		System.out.println("search&replace column: " + searchAndReplaceRules.size());
 		// excel2.searchAndReplaceInLines(searchAndReplaceRules);
-
+		
 		System.out.println("renaming column: " + columnsToRenameRules.size());
 		excel2.renameColumns(columnsToRenameRules);
-
+		
 		System.out.println("saving&closing...");
 		excel2.save();
 		excel2.close();
Index: tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/SheetUtility.java
===================================================================
--- tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/SheetUtility.java	(revision 3042)
+++ tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/SheetUtility.java	(revision 3043)
@@ -1,6 +1,7 @@
 package org.txm.libs.msoffice;
 
 import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 
@@ -67,27 +68,28 @@
 		cNew.setCellStyle(cOld.getCellStyle());
 		
 		switch (cNew.getCellType()) {
-			case Cell.CELL_TYPE_BOOLEAN: {
+			case BOOLEAN: {
 				cNew.setCellValue(cOld.getBooleanCellValue());
 				break;
 			}
-			case Cell.CELL_TYPE_NUMERIC: {
+			case NUMERIC: {
 				cNew.setCellValue(cOld.getNumericCellValue());
 				break;
 			}
-			case Cell.CELL_TYPE_STRING: {
+			case STRING: {
 				cNew.setCellValue(cOld.getStringCellValue());
 				break;
 			}
-			case Cell.CELL_TYPE_ERROR: {
+			case ERROR: {
 				cNew.setCellValue(cOld.getErrorCellValue());
 				break;
 			}
-			case Cell.CELL_TYPE_FORMULA: {
+			case FORMULA: {
 				cNew.setCellFormula(cOld.getCellFormula());
 				break;
 			}
+			default:
+				break;
 		}
-		
 	}
 }
Index: tmp/org.txm.libs.msoffice/build.properties
===================================================================
--- tmp/org.txm.libs.msoffice/build.properties	(revision 3042)
+++ tmp/org.txm.libs.msoffice/build.properties	(revision 3043)
@@ -2,17 +2,17 @@
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
-               lib/commons-codec-1.10.jar,\
-               lib/commons-collections4-4.1.jar,\
-               lib/commons-logging-1.2.jar,\
-               lib/curvesapi-1.04.jar,\
-               lib/junit-4.12.jar,\
-               lib/log4j-1.2.17.jar,\
-               lib/ooxml-schemas-1.3.jar,\
-               lib/poi-3.17.jar,\
-               lib/poi-excelant-3.17.jar,\
-               lib/poi-ooxml-3.17.jar,\
-               lib/poi-ooxml-schemas-3.17.jar,\
-               lib/poi-scratchpad-3.17.jar,\
-               lib/xmlbeans-2.6.0.jar
+               lib/commons-codec-1.15.jar,\
+               lib/commons-collections4-4.4.jar,\
+               lib/commons-math3-3.6.1.jar,\
+               lib/SparseBitSet-1.2.jar,\
+               lib/poi-5.0.0.jar,\
+               lib/poi-excelant-5.0.0.jar,\
+               lib/poi-integration-5.0.0.jar,\
+               lib/poi-ooxml-5.0.0.jar,\
+               lib/poi-ooxml-lite-5.0.0.jar,\
+               lib/poi-scratchpad-5.0.0.jar,\
+               lib/commons-compress-1.20.jar,\
+               lib/curvesapi-1.06.jar,\
+               lib/xmlbeans-4.0.0.jar
 #qualifier=svn
Index: tmp/org.txm.libs.msoffice/.classpath
===================================================================
--- tmp/org.txm.libs.msoffice/.classpath	(revision 3042)
+++ tmp/org.txm.libs.msoffice/.classpath	(revision 3043)
@@ -1,35 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con"
-		path="org.eclipse.jdt.launching.JRE_CONTAINER" />
-	<classpathentry kind="con"
-		path="org.eclipse.pde.core.requiredPlugins" />
-	<classpathentry kind="src" path="src" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/commons-codec-1.10.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/commons-collections4-4.1.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/commons-logging-1.2.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/curvesapi-1.04.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/junit-4.12.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/log4j-1.2.17.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/ooxml-schemas-1.3.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/poi-3.17.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/poi-excelant-3.17.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/poi-ooxml-3.17.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/poi-ooxml-schemas-3.17.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/poi-scratchpad-3.17.jar" />
-	<classpathentry exported="true" kind="lib"
-		path="lib/xmlbeans-2.6.0.jar" />
-	<classpathentry kind="output" path="bin" />
-</classpath>
\ No newline at end of file
+	<classpathentry exported="true" kind="lib" path="lib/commons-compress-1.20.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/curvesapi-1.06.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/xmlbeans-4.0.0.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/poi-5.0.0.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/poi-excelant-5.0.0.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/poi-integration-5.0.0.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/poi-ooxml-5.0.0.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/poi-ooxml-lite-5.0.0.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/poi-scratchpad-5.0.0.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/commons-codec-1.15.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/commons-collections4-4.4.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/commons-math3-3.6.1.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/SparseBitSet-1.2.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
Index: tmp/org.txm.libs.msoffice/META-INF/MANIFEST.MF
===================================================================
--- tmp/org.txm.libs.msoffice/META-INF/MANIFEST.MF	(revision 3042)
+++ tmp/org.txm.libs.msoffice/META-INF/MANIFEST.MF	(revision 3043)
@@ -1,14 +1,139 @@
 Manifest-Version: 1.0
 Automatic-Module-Name: org.txm.libs.msoffice
 Bundle-SymbolicName: org.txm.libs.msoffice
-Export-Package: org.txm.libs.msoffice
+Export-Package: com.graphbuilder.curve,
+ com.graphbuilder.geom,
+ com.graphbuilder.math,
+ com.graphbuilder.math.func,
+ com.graphbuilder.org.apache.harmony.awt.gl,
+ com.graphbuilder.struc,
+ com.microsoft.schemas.compatibility,
+ com.microsoft.schemas.compatibility.impl,
+ com.microsoft.schemas.office.excel,
+ com.microsoft.schemas.office.excel.impl,
+ com.microsoft.schemas.office.office,
+ com.microsoft.schemas.office.office.impl,
+ com.microsoft.schemas.office.visio.x2012.main,
+ com.microsoft.schemas.office.visio.x2012.main.impl,
+ com.microsoft.schemas.office.x2006.digsig,
+ com.microsoft.schemas.office.x2006.digsig.impl,
+ com.microsoft.schemas.vml,
+ com.microsoft.schemas.vml.impl,
+ com.zaxxer.sparsebits,
+ org.apache.commons.codec,
+ org.apache.commons.codec.binary,
+ org.apache.commons.codec.cli,
+ org.apache.commons.codec.digest,
+ org.apache.commons.codec.language,
+ org.apache.commons.codec.language.bm,
+ org.apache.commons.codec.net,
+ org.apache.commons.collections4,
+ org.apache.commons.collections4.bag,
+ org.apache.commons.collections4.bidimap,
+ org.apache.commons.collections4.collection,
+ org.apache.commons.collections4.comparators,
+ org.apache.commons.collections4.functors,
+ org.apache.commons.collections4.iterators,
+ org.apache.commons.collections4.keyvalue,
+ org.apache.commons.collections4.list,
+ org.apache.commons.collections4.map,
+ org.apache.commons.collections4.multimap,
+ org.apache.commons.collections4.multiset,
+ org.apache.commons.collections4.properties,
+ org.apache.commons.collections4.queue,
+ org.apache.commons.collections4.sequence,
+ org.apache.commons.collections4.set,
+ org.apache.commons.collections4.splitmap,
+ org.apache.commons.collections4.trie,
+ org.apache.commons.collections4.trie.analyzer,
+ org.apache.commons.compress,
+ org.apache.commons.compress.archivers,
+ org.apache.commons.compress.archivers.ar,
+ org.apache.commons.compress.archivers.arj,
+ org.apache.commons.compress.archivers.cpio,
+ org.apache.commons.compress.archivers.dump,
+ org.apache.commons.compress.archivers.examples,
+ org.apache.commons.compress.archivers.jar,
+ org.apache.commons.compress.archivers.sevenz,
+ org.apache.commons.compress.archivers.tar,
+ org.apache.commons.compress.archivers.zip,
+ org.apache.commons.compress.changes,
+ org.apache.commons.compress.compressors,
+ org.apache.commons.compress.compressors.brotli,
+ org.apache.commons.compress.compressors.bzip2,
+ org.apache.commons.compress.compressors.deflate,
+ org.apache.commons.compress.compressors.deflate64,
+ org.apache.commons.compress.compressors.gzip,
+ org.apache.commons.compress.compressors.lz4,
+ org.apache.commons.compress.compressors.lz77support,
+ org.apache.commons.compress.compressors.lzma,
+ org.apache.commons.compress.compressors.lzw,
+ org.apache.commons.compress.compressors.pack200,
+ org.apache.commons.compress.compressors.snappy,
+ org.apache.commons.compress.compressors.xz,
+ org.apache.commons.compress.compressors.z,
+ org.apache.commons.compress.compressors.zstandard,
+ org.apache.commons.compress.parallel,
+ org.apache.commons.compress.utils,
+ org.apache.commons.math3,
+ org.apache.commons.math3.analysis,
+ org.apache.commons.math3.analysis.differentiation,
+ org.apache.commons.math3.analysis.function,
+ org.apache.commons.math3.analysis.integration,
+ org.apache.commons.math3.analysis.integration.gauss,
+ org.apache.commons.math3.analysis.interpolation,
+ org.apache.commons.math3.analysis.polynomials,
+ org.apache.commons.math3.analysis.solvers,
+ org.apache.commons.math3.complex,
+ org.apache.commons.math3.dfp,
+ org.apache.commons.math3.distribution,
+ org.apache.commons.math3.distribution.fitting,
+ org.apache.commons.math3.exception,
+ org.apache.commons.math3.exception.util,
+ org.apache.commons.math3.filter,
+ org.apache.commons.math3.fitting,
+ org.apache.commons.math3.fitting.leastsquares,
+ org.apache.commons.math3.fraction,
+ org.apache.commons.math3.genetics,
+ org.apache.commons.math3.geometry,
+ org.apache.commons.math3.geometry.enclosing,
+ org.apache.commons.math3.geometry.euclidean.oned,
+ org.apache.commons.math3.geometry.euclidean.threed,
+ org.apache.commons.math3.geometry.euclidean.twod,
+ org.apache.commons.math3.geometry.euclidean.twod.hull,
+ org.apache.commons.math3.geometry.hull,
+ org.apache.commons.math3.geometry.partitioning,
+ org.apache.commons.math3.geometry.partitioning.utilities,
+ org.apache.commons.math3.geometry.spherical.oned,
+ org.apache.commons.math3.geometry.spherical.twod,
+ org.apache.commons.math3.linear,
+ org.apache.commons.math3.ml.clustering,
+ org.apache.commons.math3.ml.clustering.evaluation,
+ org.apache.commons.math3.ml.distance,
+ org.apache.commons.math3.ml.neuralnet,
+ org.apache.commons.math3.ml.neuralnet.oned,
+ org.apache.commons.math3.ml.neuralnet.sofm,
+ org.apache.commons.math3.ml.neuralnet.sofm.util,
+ org.apache.commons.math3.ml.neuralnet.twod,
+ org.apache.commons.math3.ml.neuralnet.twod.util,
+ org.apache.commons.math3.ode,
+ org.txm.libs.msoffice
 Bundle-Name: org.txm.libs.msoffice
-Bundle-Version: 1.0.0.qualifier
-Bundle-ClassPath: lib/commons-codec-1.10.jar,lib/commons-collections4-
- 4.1.jar,lib/commons-logging-1.2.jar,lib/curvesapi-1.04.jar,lib/junit-
- 4.12.jar,lib/log4j-1.2.17.jar,lib/ooxml-schemas-1.3.jar,lib/poi-3.17.
- jar,lib/poi-excelant-3.17.jar,lib/poi-ooxml-3.17.jar,lib/poi-ooxml-sc
- hemas-3.17.jar,lib/poi-scratchpad-3.17.jar,lib/xmlbeans-2.6.0.jar,.
+Bundle-Version: 5.0.0.qualifier
+Bundle-ClassPath: .,
+ lib/commons-codec-1.15.jar,
+ lib/commons-collections4-4.4.jar,
+ lib/commons-math3-3.6.1.jar,
+ lib/SparseBitSet-1.2.jar,
+ lib/poi-5.0.0.jar,
+ lib/poi-excelant-5.0.0.jar,
+ lib/poi-integration-5.0.0.jar,
+ lib/poi-ooxml-5.0.0.jar,
+ lib/poi-ooxml-lite-5.0.0.jar,
+ lib/poi-scratchpad-5.0.0.jar,
+ lib/commons-compress-1.20.jar,
+ lib/curvesapi-1.06.jar,
+ lib/xmlbeans-4.0.0.jar
 Bundle-ManifestVersion: 2
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Vendor: Textometrie.org
