我有一个字符串数组,其值如下:
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();
}
感谢阅读!
您可以使用以下代码..
if(myArray[i].matches(".*\\d.*") && ! myArray[i].contains("-")) //For date assuming '-' would be a separator always
{
//Its a number(int or float).. Excel treats both as numeric
HSSFCellStyle style = (HSSFCellStyle) wb.createCellStyle();
style.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
mycell.setCellStyle(style);
mycell.setCellValue(Float.parseFloat(myArray[i]));
}
else if(myArray[i].contains("-"))
{
// Its a date
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
mycell.setCellStyle(cellStyle);
mycell.setCellValue(myArray[i]);
}
else
{
// Its a string/Text..
mycell.setCellValue(myArray[i]);
}
问题内容: 如何在poi的帮助下在单元格中写下我的全部价值? 即如果值是1000.000,那么我怎么能写出完整的值而不会在“之后”截断000。与POI?表示我想要全部价值。 就我而言,只需要1000,但这对我来说不是正确的格式。 问题答案: 您必须设置要存储此数字的单元格的“格式”。示例代码: 来源:http : //poi.apache.org/spreadsheet/quick- guide.
我想在Excel中将“2655.32”输出为“$2655.32”。
我正在使用ApachePOI从Spring应用程序写入Excel文件(遵循本教程:https://www.roytuts.com/generic-way-of-writing-data-in-excel-using-apache-poi/。我的函数的身体几乎是一样的。) 然后我把这个方法叫做: 调试时,我可以看到正确的值被传递到单元格。但是当我通过workbook.write(outputStre
问题内容: 使用Apache POI创建Excel文档时,是否可以更改页面大小和布局?默认值是A4垂直,而我需要A6水平(横向)。 我认为这个问题不需要代码示例,Excel文档的创建与手册中所述的一样: 问题答案: HSSFPrinterSetup Javadoc
我有一个关键字列表,我想从中创建一个名为的特定查询。我有一个查询后缀,我想返回一个字符串,它以开头,后面跟着每个关键字从: 大概是这样的: 我希望返回的字符串看起来像这样:
我使用apache poi将一个CSV文件重写到Excel,对于hh:mm:ss这样的字符串,我需要将其转换为适当的Excel数据类型,以便用户可以对该列应用sum()函数。我尝试了不同的数据类型,但当我打开excel文件时,我无法对该列进行求和,求和总是显示为“0:00:00”,即使单击excel中的该列显示为“Time”数据类型, 下面是我的代码: