我有一个字符串数组,其值如下:
String[] myArray = new String[4];
myArray[0] = "one";
myArray[1] = "2012-02-25";
myArray[2] = "12345.58";
myArray[3] = "1245";
我想使用 POI 将此数组写入 Excel 工作表,其中每个值将进入一个新列,如下所示:
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("mySheet");
Row myRow = sheet.createRow(1);
Cell myCell;
for(int i=0;i < my.length;i++){
myCell = myRow.createCell(i);
myCell.setCellValue(myArray[i]);
sheet.autoSizeColumn(i);
}
FileOutputStream out;
try {
out = new FileOutputStream("myOutputFile");
wb.write(out);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
但是,很明显,所有内容都将作为文本转储到 Excel 工作表中。我在每个单元格的左上角收到一个绿色通知,指示“数字存储为文本”等。
假设,由于源系统限制,我将无法更改获取输入的方式,即我将继续仅作为字符串获取输入,我如何处理字符串中实际值的格式并将日期转储为 Excel 中的日期,作为数字的数字,作为文本的文本和作为正确十进制格式的双精度值的双精度值?
请注意,我没有关于我在字符串中获得的值类型的信息。我必须在运行时确定该值是否是文本、数字、浮点数、日期等,然后适当地放入 Excel 表中。
请在正确阅读之前不要标记问题。
谢谢阅读!