这里提一下,java操作excel的组件除了apache的poi,还有jexcelapi(jxl),其中poi组件的获取地址为poi.apache.org。
poi组件中常用的类有HSSFworkbook表示一个完整的excel表格,HSSFsheet表示excel中的一个工作薄,HSSFRow表示工作薄中的一行,HSSFCell表示一个单元格
下面是一个简单的写入的demo
public static void main(String [] args){
try {
HSSFWorkbook workbook= new HSSFWorkbook();
HSSFSheet sheet=
workbook.createSheet("test");
HSSFRow row =
sheet.createRow(1);
HSSFCell cell= row.createCell(2);
cell.setCellValue("test");
FileOutputStream os= null;
os = new FileOutputStream("fisrtExcel.xls");
workbook.write(os);
os.flush();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("ok");
}
下面是一个简单的读取demo
try {
FileInputStream file= new
FileInputStream("fisrtExcel.xls");
POIFSFileSystem ts= new
POIFSFileSystem(file);
HSSFWorkbook wb=new HSSFWorkbook(ts);
HSSFSheet sh= wb.getSheetAt(0);
HSSFRow ro=null;
for (int i = 0; sh.getRow(i)!=null; i++) {
ro=sh.getRow(i);
for (int j = 0; ro.getCell(j)!=null; j++)
{
System.out.print(ro.getCell(j)+"");
}
System.out.println();
}
} catch
(Exception e) {
e.printStackTrace();
}
System.out.println("ok");
下面是几个常用的api
//使用公式
cell2.setCellFormula("B2");
//设置列宽
sheet.setColumnWidth(columnIndex, width);
//设置行高
row.setHeight(height);
//设这样式:
HSSFFont font=
workbook.createFont();
font.setFontHeightInPoints(height);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font.setFontName("黑体");
HSSFCellStyle style= workbook.createCellStyle();
style.setFont(font);
//style可以设置对齐样式,边框,和格式化日期。
cell.setCellStyle(style);
//合并单元格
sheet.addMergedRegion(region);
网上也找到了一个使用的demo,可以参考这里:
public static void main(String [] args){
try {
WritableWorkbook wwb = null;
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb =
Workbook.createWorkbook(new File("jxlexcel"));
if(wwb!=null){
//创建一个可写入的工作表
WritableSheet ws = wwb.createSheet("sheet1",
0);
for(inti=0;i<10;i++){
for(intj=0;j<5;j++){
Label labelC = new Label(j,
i, "这是第"+(i+1)+"行,第"+(j+1)+"列");
ws.addCell(labelC);
}
}
wwb.write();
wwb.close();
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("ok");
}
对于更复杂的内容这里有几个参考文档:
http://www.newxing.com/Tech/Java/Web/Excel_186.html
http://www.yesky.com/18/1886018.shtml
转自:http://my.oschina.net/zimingforever/blog/101142