package com.testoutexcel;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import jxl.write.Label;
public class TestOutExcel {
/**
* @param args
*/
public static String title = "导出Excel";
public static String[] columns = {"姓名","年龄"};
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
download(columns,list,title);
}
public static void download(final String[] columns,final List<String> list,String title) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
FileOutputStream fos = new FileOutputStream("F://test.xls");
//BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(baos, "UTF-8"));
jxl.write.WritableWorkbook book = jxl.Workbook.createWorkbook(fos);
jxl.write.WritableSheet sheet = book.createSheet(title, 0);
//设置logo文件样式
jxl.write.WritableFont font_logo = new jxl.write.WritableFont(jxl.write.WritableFont.createFont("宋体"),14,jxl.write.WritableFont.BOLD);
jxl.write.WritableCellFormat format_logo = new jxl.write.WritableCellFormat(font_logo);
format_logo.setAlignment(jxl.format.Alignment.CENTRE);
format_logo.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
//设置title文件样式
jxl.write.WritableFont font_title = new jxl.write.WritableFont(jxl.write.WritableFont.createFont("黑体"),10,jxl.write.WritableFont.BOLD);
jxl.write.WritableCellFormat format_title = new jxl.write.WritableCellFormat(font_title);
format_title.setBackground(jxl.format.Colour.GRAY_50);
format_title.setBorder(jxl.format.Border.LEFT, jxl.format.BorderLineStyle.THIN);
format_title.setAlignment(jxl.format.Alignment.CENTRE);
format_title.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
//添加logo
jxl.write.Label lableLogo = new jxl.write.Label(0,0,new String(title.getBytes(),"gb2312"),format_logo);
sheet.addCell(lableLogo);
sheet.mergeCells(0, 0, columns.length - 1, 0);
//添加title
for(int i = 0;i < columns.length; i++) {
jxl.write.Label lableTitle = new jxl.write.Label(i,1,new String(columns[i].getBytes(),"gb2312"),format_title);
sheet.setColumnView(i, 10);
sheet.addCell(lableTitle);
}
int row = 2;
if(list!=null && list.size()>0){
for(int i = 0;i < list.size();i ++){
String s = new String(list.get(i).getBytes(),"gb2312");
Label lbl = null;
lbl = new Label(i, row, s);
sheet.addCell(lbl);
}
row++;
}
book.write();
book.close();
// baos.writeTo(System.out);
// System.out.flush();
// baos.close();
fos.flush();
fos.close();
System.out.println();
System.out.println("中文问题");
} catch(Exception e) {
e.printStackTrace();
}
}
}