Excel

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();
  }
 }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值