package com;import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFFooter;
import org.apache.poi.hssf.usermodel.HSSFHeader;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;public class T3 { public T3() {
super();
// TODO Auto-generated constructor stub
} /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
// CellReference
File f = new File("D:\\yanfeiSheet.xls");
OutputStream out = null;

if(f.isFile() && !f.canWrite()){

System.out.println("你的文件不能被写!请你检查");
System.exit(1);
}
try {
out = new FileOutputStream(f);
} catch (FileNotFoundException e1) {
System.out.println("文件写入失败!请关闭你打开的文件:"+f.getAbsolutePath());
//e1.printStackTrace();
System.exit(1);

}
String[] sheetheader = { "编号", "姓名", "年龄", "部门", "应发工资", "基本工资",
"岗位工资", "奖金", "实发工资", "个调" };
String[] sheetvalue = { "001", "张三", "25", "开发", "5000", "3000",
"4000", "500", "8800", "300" };

short[] cellEncoding = { HSSFCell.ENCODING_UTF_16 };
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("工资表");
//HSSFSheet sheet1 = wb.createSheet("货价表");
HSSFHeader header = sheet.getHeader();
header.setCenter("工资报表");
HSSFRow[] row = new HSSFRow[10];// 行
HSSFCell[] valueCell = new HSSFCell[sheetvalue.length];// 列
for (int rowCount = 0; rowCount < row.length; rowCount++) {
row[rowCount] = sheet.createRow(rowCount);
if (rowCount == 0) {// 创建列头
HSSFCell[] headerCell = new HSSFCell[sheetheader.length];
for (int i = 0; i < sheetheader.length; i++) {
headerCell[i] = row[0].createCell((short) i);
headerCell[i].setEncoding(cellEncoding[0]);
headerCell[i].setCellValue(sheetheader[i]);
} }
if (rowCount >= 1) {//往列中写数据 for (int i = 0; i < sheetvalue.length; i++) {
valueCell[i] = row[rowCount].createCell((short) i);
valueCell[i].setEncoding(cellEncoding[0]);
valueCell[i].setCellValue(sheetvalue[i]);
}
} } sheet.setGridsPrinted(false);
HSSFFooter footer = sheet.getFooter();
footer.setRight("page " + HSSFFooter.page() + "of"
+ HSSFFooter.numPages());
try {

wb.write(out);
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}

解决方案 »

  1.   

    http://www.chinajavalab.com/cgi-bin/topic.cgi?forum=1&topic=328jxl的详细用法,可以对excel操作
      

  2.   

    学习一下顺便问一句,这些包:
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFFooter;
    import org.apache.poi.hssf.usermodel.HSSFHeader;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    都是在哪儿找的啊,jdk里面没有啊
      

  3.   

    apache网站上面找的
    也可以用jxl.jar包
      

  4.   

    这些包当然JDK中没有,是POI包中,可以从apache上找到,主要用来做EXCEL报表
      

  5.   

    这上面有详细的用法说明
    http://jakarta.apache.org/poi/
      

  6.   


    其实poi和jxl都差不多的,用法有些不同而已