/****/
packageexcel;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importorg.apache.poi.hssf.usermodel.HSSFCell;importorg.apache.poi.hssf.usermodel.HSSFCellStyle;importorg.apache.poi.hssf.usermodel.HSSFRichTextString;importorg.apache.poi.hssf.usermodel.HSSFRow;importorg.apache.poi.hssf.usermodel.HSSFSheet;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;/***@authorhy
* @date 2019-02-18 15:06:34
**/
public classOutExcel {public static voidmain(String[] args) {//第一行数据,一般用来存字段的名称
String title="姓名,性别,年龄,身高,联系方式";//分割title
String titString[]=title.split(",");
List contentList =new ArrayList();
contentList.add("张三,男,16岁,170cm,13112341234");
contentList.add("李四 ,男,18岁,172cm,13012341234");
contentList.add("王五 ,女,17岁,165cm,13612349999");
contentList.add("赵六,男,20岁,178cm,18633330000");
contentList.add("孙七,女,16岁,168cm,15512341234");
String[] strArray=newString[contentList.size()];/*String[][] strArray=new String[5][5];
//第二行数据
strArray[0][0]="张三";
strArray[0][1]="男";
strArray[0][2]="16岁";
strArray[0][3]="170cm";
strArray[0][4]="13112341234";
//第三行数据
strArray[1][0]="李四";
strArray[1][1]="男";
strArray[1][2]="18岁";
strArray[1][3]="172cm";
strArray[1][4]="13012341234";
//第四行数据
strArray[2][0]="王五";
strArray[2][1]="女";
strArray[2][2]="17岁";
strArray[2][3]="165cm";
strArray[2][4]="13612349999";
//第五行数据
strArray[3][0]="赵六";
strArray[3][1]="男";
strArray[3][2]="20岁";
strArray[3][3]="178cm";
strArray[3][4]="18633330000";
//第六行数据
strArray[4][0]="孙七";
strArray[4][1]="女";
strArray[4][2]="16岁";
strArray[4][3]="168cm";
strArray[4][4]="15512341234";*/
//setup1:创建工作簿
HSSFWorkbook hswk =newHSSFWorkbook();//setup2:创建工作簿的样式
HSSFCellStyle cellStyle=hswk.createCellStyle(); //创建excel样式
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中//setup3:在工作簿创建一个工作表,并取名sheet1,设置单元格长度,高度
HSSFSheet hs =hswk.createSheet("sheet1");
hs.setDefaultColumnWidth( (short) 15 ); //设置单元格的宽度//hs.setDefaultRowHeight((short) 256);//设置单元格的高度(貌似不起作用,后续研究。。。)//hs.setDefaultRowHeightInPoints(15);//setup4:在工作表中创建第一行,并根据标题长度设置列值,并将标题放入其中,加入样式
HSSFRow hsr =hs.createRow(0);//创建第0行
hsr.setHeightInPoints(20); //单独设置行高
for (int i = 0; i < titString.length; i++) {
HSSFCell hc=hsr.createCell((short) i);
hc.setCellValue(newHSSFRichTextString(titString[i].toString()));
hc.setCellStyle(cellStyle);
}//setup5:创建数据
for (int m = 0;m < contentList.size(); m++) {
HSSFRow hrdata=hs.createRow(m+1);//(依次增加)设置数据的第一行(excel的第二行,前面标题占着一行)
strArray=contentList.get(m).split(",");for (int n = 0; n < strArray.length; n++) {
HSSFCell hc=hrdata.createCell((short) n); //(依次增加)数据的第一列,excel的第一列
System.out.println(strArray[n].toString());
hc.setCellValue(newHSSFRichTextString(strArray[n].toString()));
hc.setCellStyle(cellStyle);
}
}/*for (int m = 0; m < strArray.length; m++) {
HSSFRow hrdata =hs.createRow(m+1);//(依次增加)设置数据的第一行(excel的第二行,前面标题占着一行)
for (int n = 0; n < strArray[m].length; n++) {
HSSFCell hc=hrdata.createCell((short) n); //(依次增加)数据的第一列,excel的第一列
hc.setCellValue(new HSSFRichTextString(strArray[m][n]));
hc.setCellStyle(cellStyle);
}
}*/
//输出Excel文件到磁盘目录
FileOutputStream output;try{
output= new FileOutputStream("d:\\workbook.xlsx");try{
hswk.write(output);
}catch(IOException e) {
e.printStackTrace();
}try{
output.flush();
}catch(IOException e) {
e.printStackTrace();
}
}catch(FileNotFoundException e) {
e.printStackTrace();
}
}
}