java操作有下拉框选择的excel

从http://sourceforge.net/projects/jexcelapi/files/中下载jxl.jar包


然后导入到工程中


package test;

/**
 * 读取Excel文件的内容
 * @param file  待读取的文件
 * @return      生成Excel的类
 */

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import jxl.Workbook;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.write.Label;
import jxl.write.WritableCellFeatures;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

//创建Excel文件
public class CreateXLS {
	public static void main(String args[]) {
		try {
			WritableWorkbook wwb = Workbook.createWorkbook(new File("test.xls"));
			WritableSheet ws = wwb.createSheet(" Sheet1 ", 0);
		    Label labelMergeCells = new Label(0, 0, "安全对象导入模板", getHeader());
		    ws.addCell(labelMergeCells);
		 	ws.mergeCells(0,0,9,0);
		 	ws.setRowView(0,800);//设置行高

		 	String[] fieldToTitle = new String[] {"Ip地址", "标准系统", "SVN地址"};

		 	//添加表头
		    for(int t=0;t<fieldToTitle.length;t++){
		    	Label label = new Label(t, 1, fieldToTitle[t], getTitle());
		    	if (label.getString().equals("标准系统")) {
		    		for(int td=0; td<10; td++) {
		    			Label subLabel = new Label(t, td, "");
		    			WritableCellFeatures wcf = new WritableCellFeatures();
		    			List angerlist = new ArrayList();
		    			angerlist.add("电话");//可从数据库中取出
		    			angerlist.add("手机");
		    			angerlist.add("呼机");
		    			wcf.setDataValidationList(angerlist);
		    			subLabel.setCellFeatures(wcf);
		    			ws.addCell(subLabel);
		    		}
		    	}
		    	// 将定义好的单元格添加到工作表中
		    	ws.addCell(label);
		    	ws.setColumnView(t, 30);
		    }

			// 写入数据并关闭文件
			wwb.write();
			wwb.close();

		} catch (Exception e) {
			System.out.println(e);
		}
	}

	/**
	  * 设置头的样式
	  * @return
	  */
	 public static WritableCellFormat getHeader(){
	  WritableFont font = new  WritableFont(WritableFont.TIMES, 24 ,WritableFont.BOLD);//定义字体
	  try{
	   font.setColour(Colour.BLUE);//蓝色字体
	  } catch (WriteException e1){
	   e1.printStackTrace();
	  }
	  WritableCellFormat format = new  WritableCellFormat(font);
	  try{
	   format.setAlignment(jxl.format.Alignment.CENTRE);//左右居中
	   format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//上下居中
	   format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);//黑色边框
	   format.setBackground(Colour.YELLOW);//黄色背景
	  } catch (WriteException e){
	   e.printStackTrace();
	  }
	  return format;
	 }

	 /**
	  * 设置标题样式
	  * @return
	  */
	 public static WritableCellFormat getTitle(){
	  WritableFont font = new  WritableFont(WritableFont.TIMES, 14);
	  try{
	   font.setColour(Colour.BLUE);//蓝色字体
	  } catch (WriteException e1){
	   // TODO 自动生成 catch 块
	   e1.printStackTrace();
	  }
	  WritableCellFormat format = new  WritableCellFormat(font);

	  try {
	   format.setAlignment(jxl.format.Alignment.CENTRE);
	   format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
	   format.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);
	  } catch (WriteException e){
	   // TODO 自动生成 catch 块
	   e.printStackTrace();
	  }
	  return format;
	 }
}

 

你可能感兴趣的:(java,Excel,JXL)