JXL创建一个Excel有8中方法,如下图。
[img]http://www.kutoku.info/images/java/100721/jxl.png[/img]
这8种方法虽然参数不同,但有一个共同点,就是:必须以一个现有的Excel为模板创建一个新的Excel,这点可能和我们的认识不太一样,即Jxl不能凭空创建一个excel文件。
所以在具体的开发过程中,用到了JXL,一定会有一个地方去存放相应的模板,根据模板生成新的Excel,然后填充内容,保存。
给一个创建Excel的详细代码,附件是需要的Jar,即jxl.jar。
import java.io.File;
import java.io.IOException;
import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.DateFormat;
import jxl.write.DateTime;
import jxl.write.Label;
import jxl.write.NumberFormat;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class JxlOpExcel {
public static void main(String[] args) {
try {
// 创建可写入的 Excel工作薄
WritableWorkbook wb = Workbook.createWorkbook(new File("c:/test.xls"));
// 创建Excel工作表
WritableSheet ws = wb.createSheet("sheet1", 0);
// 添加Label对象
Label label1 = new Label(0, 0, "测试创建Excel");
ws.addCell(label1);
// 添加带有字型Formatting的对象
WritableFont wf = new WritableFont(
WritableFont.TIMES, 18, WritableFont.BOLD, true);
WritableCellFormat wcfF = new WritableCellFormat(
wf);
Label labelCF = new Label(1, 0,
"This is a Label Cell", wcfF);
ws.addCell(labelCF);
// 添加带有字体颜色Formatting的对象
WritableFont wfc = new WritableFont(
WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false,
UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(
wfc);
Label labelCFC = new Label(1, 0,
"This is a Label Cell", wcfFC);
ws.addCell(labelCFC);
// 添加Number对象
jxl.write.Number labelN = new jxl.write.Number(0, 1, 3.1415926);
ws.addCell(labelN);
// 添加带有formatting的 Number对象
NumberFormat nf = new NumberFormat("#.##");
WritableCellFormat wcfN = new WritableCellFormat(
nf);
jxl.write.Number labelNF = new jxl.write.Number(1, 1, 3.1415926,
wcfN);
ws.addCell(labelNF);
// 添加Boolean对象
jxl.write.Boolean labelB = new jxl.write.Boolean(0, 2, false);
ws.addCell(labelB);
// 添加DateTime对象
DateTime labelDT = new DateTime(0, 3,
new java.util.Date());
ws.addCell(labelDT);
// 添加带有formatting的DateFormat对象
DateFormat df = new DateFormat(
"dd MM yyyy hh:mm:ss");
WritableCellFormat wcfDF = new WritableCellFormat(
df);
DateTime labelDTF = new DateTime(1, 3,
new java.util.Date(), wcfDF);
ws.addCell(labelDTF);
wb.write(); // 写入Exel工作表
wb.close(); // 关闭Excel工作薄对象
} catch (IOException e) {
e.printStackTrace();
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}