import java.util.TreeMap;
import jxl.Cell;
+import jxl.CellType;
import jxl.FormulaCell;
import jxl.JXLException;
+import jxl.LabelCell;
+import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;
+import jxl.WorkbookSettings;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
private List<Resource> workbooks = new ArrayList<Resource>();
+ private Integer charset = 0;
+
public void afterPropertiesSet() throws Exception {
init();
}
public void load(InputStream in, List<Reference> references,
Map<String, List<Object>> tempRefs) {
try {
- Workbook workbook = Workbook.getWorkbook(in);
+ WorkbookSettings workbookSettings = new WorkbookSettings();
+ workbookSettings.setCharacterSet(charset);
+ Workbook workbook = Workbook.getWorkbook(in, workbookSettings);
for (Sheet sheet : workbook.getSheets()) {
loadSheet(sheet, references, tempRefs);
}
+ ", targetRow=" + targetRow);
} else {
String contents = cell.getContents();
+
+// if (cell.getType() == CellType.LABEL) {
+// LabelCell lc = (LabelCell) cell;
+// contents = lc.getString();
+// } else if (cell.getType() == CellType.NUMBER) {
+// NumberCell nc = (NumberCell) cell;
+// contents = new Double(nc.getValue()).toString();
+// } else {
+// contents = cell.getContents();
+// }
+
if (propertyName.equals(keyProperty)
&& !StringUtils.hasText(contents)) {
// auto allocate key column if empty
this.classLoader = classLoader;
}
+ public List<Class<?>> getAdditionalClasses() {
+ return additionalClasses;
+ }
+
+ public void setAdditionalClasses(List<Class<?>> additionalClasses) {
+ this.additionalClasses = additionalClasses;
+ }
+
+ public void setCharset(Integer charset) {
+ this.charset = charset;
+ }
+
public static class Reference {
private Object object;
private String property;